已更新!
我之前从未遇到过这方面的问题,我在本地服务器上也关闭了UAC。
这是我的表格,嗯,表格的一个愚蠢的版本,因为那里有很多文字:
<form id="setup" name="setup" action="php/process_setup.php" method="post" enctype="multipart/form-data">
<input type="text" name="cname" id="cname" value="" />
<input type="text" name="splash" id="splash" />
<input type="file" name="file"/>
<input type="text" name="email" id="email" />
<input type="password" name="password" id="password" />
<input type="password" name="cpassword" id="cpassword" />
<input type="submit" value="Submit" name="submit_setup" />
</form>
这是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"];
}
结果如下:
注意:未定义索引:文件输入 第10行的C:\ xampp \ htdocs \ ppa \ php \ process_setup.php
注意:未定义索引:文件输入 第16行的C:\ xampp \ htdocs \ ppa \ php \ process_setup.php上传:
注意:未定义索引:文件输入 第17行的C:\ xampp \ htdocs \ ppa \ php \ process_setup.php输入:
注意:未定义索引:文件输入 第18行的C:\ xampp \ htdocs \ ppa \ php \ process_setup.php大小:0 kB
注意:未定义索引:文件输入 第19行的C:\ xampp \ htdocs \ ppa \ php \ process_setup.php存储于:
修改2
刚刚做了一个测试,看看PHP是否具有写权限,这是代码:
echo copy("1383778885275.jpg", "C:/xampp/tmp/1383778885275.jpg");
结果是:
1
图像IS位于tmp目录中..
答案 0 :(得分:1)
我正在以一种简单的方式进行,尝试这样做:
if(!empty($_POST) && !empty($_FILES["file"]["name"]) ){ //check the following post values if not empty
$name = $_FILES["file"]["name"];
$temp = $_FILES["file"]["tmp_name"];
$location= "../images/";
if(move_uploaded_file($temp, $location.$name)) {
echo "Uploaded!!!";
} else {
echo "Error:";
}
} else {
echo "Please choose a file to upload";
}
答案 1 :(得分:1)
您可能需要将!empty($_FILES["file"]["tmp_name"]
更改为:
isset($_FILES["file"]["tmp_name"]
和if(move_uploaded_file($temp, $location.$name)) {
:
if(move_uploaded_file($temp, $location.basename($name))) {
强调basename()
。
答案 2 :(得分:1)
根据您的通知信息,$_FILES
可能是空的。您可以查看以下问题:
1.Make sure your directory has permissions for the tmp and upload directories.
2.Make sure the value of `file_uploads` option in `php.ini` is `On`
答案 3 :(得分:0)
感谢所有帮助人员。似乎在我没有包含的一些代码中存在问题..:/
基本上:
<form id="setup" name="setup" action="php/process_setup.php" method="post" enctype="multipart/form-data">
.....
....
<input type="file" name="logo"/>
...
.....
somewhere had some dodgy code I deleted
....
</form>
感谢您的帮助。