1

我正在运行 Ubuntu8.041。Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.3 配置了 Suhosin-Patch

根本无法上传文件。已经在 Ubuntu 盒子上进行了本地测试......以及我的 Vista 盒子。Ubuntu 在 Vista 盒子上的 VMWare 中运行。

这是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的输出

注意:未定义索引:第 5 行 /var/www/ig/admin/uploadTestSubmit.php 中的用户文件

注意:未定义的索引:/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)"

4

2 回答 2

1

这可能不是您问题的答案,但我注意到您缺少 var/www/... 前面的 /

它应该是:“/var/www/ig/images/”

我的第一个建议是改变它并再试一次。

于 2008-12-06T00:32:59.703 回答
1

您的 uploadTestBrowse.php 和 uploadTestSubmit.php 不匹配。action和上传字段中的不同名称。

于 2008-12-06T00:36:01.910 回答