Загрузка файла не удается под WordPress - PullRequest
0 голосов
/ 27 ноября 2011

Я использую WordPress и следую инструкциям W3 для загрузки файла:

HTML-код:

<html>
<body>

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>  

PHP-код (upload_file.php):

<?php
if ($_FILES["file"]["error"] > 0)
{
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
 }
?> 

HTML-код вставляется в шаблон страницы PHP, а файл PHP - в установочный каталог WP в разделе www.

Проблема заключается в том, что при отправке файла я получаю Error: 1.
Если я отмечу часть «if» кода PHP и оставлю часть «else», я получу:

Upload: IMG_4258.JPG
Type:
Size: 0 Kb
Stored in: 

Так что, по крайней мере, я знаю, что PHP-код работает.
Но что вызывает его сбой?
Есть ли проблема с кодом или WordPress вмешивается в процесс?

Ответы [ 2 ]

1 голос
/ 27 ноября 2011

Если вы перейдете на страницу руководства PHP вместо W3schools (иногда это не очень хороший ресурс), вы увидите, что ваш код ошибки 1:

UPLOAD_ERR_INI_SIZE

Value: 1; The uploaded file exceeds the upload_max_filesize directive in php.ini.

Это означает, что ваша директива INI ограничивает загрузку вашего файла (по умолчанию он должен быть 2Mbyte)

Я знаю, что вы просто заглушка, но я советую вам проверять тип загружаемых файлов, но особенно ЗАГРУЗИТЬ файл (не просто сохранить его, а затем уничтожить во временном каталоге), используя move_uploaded_file ()

1 голос
/ 27 ноября 2011

Ваш файл изображения слишком велик согласно коду ошибки .

...