Загрузка файла PHP ... файлы исчезают в великой пустоте .. где никто не слышит их крик - PullRequest
1 голос
/ 06 декабря 2008

Я использую Ubuntu8.041. Apache / 2.2.8 (Ubuntu) PHP / 5.2.4-2ubuntu5.3 с настроенным патчем Suhosin-Patch

Невозможно заставить загрузку файла работать вообще. Протестировали локально на коробке с Ubuntu ... и с моей Vista Box. Ubuntu работает внутри VMWare на Windows Vista.

Вот здесь uploadTestBrowse.php

<?php
?>
<form enctype="multipart/form-data" action="uploadTestBrowse.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="file" name="fileName" /> <br><br>
<input type="submit" value="Upload Images"/> 
</form>

Вот здесь uploadTestSubmit.php

<?php
error_reporting(E_ALL|E_STRICT);  

$uploaddir = "var/www/ig/images/";
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "Success.\n";
} else {
    echo "Failure.\n";
}

echo 'Here is some more debugging info:';
print_r($_FILES);
?>

Вот вывод файла uploadTestSubmit.php

Примечание: неопределенный индекс: пользовательский файл в /var/www/ig/admin/uploadTestSubmit.php по линии 5

Примечание: неопределенный индекс: пользовательский файл в /var/www/ig/admin/uploadTestSubmit.php на линии 7 Отказ. Вот еще немного информация отладки: Array ([fileName] => Array ([name] => aq.jpg [type] => image / pjpeg [tmp_name] => / tmpUpload / phpMBwMi9 [error] => 0 [size] => 10543))

php.ini file_uploads = On upload_max_filesize = 2M upload_tmp_dir = / tmpUpload

У меня chmod -R 777 tmpUpload

Я никогда не вижу файлов в tmpUpload

Журнал ошибок Apache2 ничего не показывает

Журнал доступа Apache2, показывающий: 192.168.21.1 - - [06 / Dec / 2008: 13: 13: 09 +1300] "GET /ig/admin/uploadTestBrowse.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP / 1.1" 200 2146 "http://192.168.21.128/ig/admin/uploadTestBrowse.php" "Mozilla / 4.0 (совместимо; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; .NET CLR 1.1.4322; .NET CLR 3.5 .30729; .NET CLR 3.0.30618) "

Ответы [ 2 ]

1 голос
/ 06 декабря 2008

Ваши uploadTestBrowse.php и uploadTestSubmit.php не совпадают. Различные имена в action и полях загрузки.

1 голос
/ 06 декабря 2008

Возможно, это не решение вашей проблемы, но я замечаю, что вы упускаете / перед var / www /...

Это должно быть: "/ var / www / ig / images /"

Моим первым предложением было бы изменить это и дать ему еще один шанс.

...