0

更新!

我以前从来没有遇到过这个问题,我在本地服务器上并且 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

并且图像在 tmp 目录中..

4

4 回答 4

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()

于 2013-11-13T00:59:08.353 回答
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`
于 2013-11-13T01:29:56.847 回答
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";
}
于 2013-11-13T00:55:44.993 回答
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>

谢谢您的帮助。

于 2013-11-13T02:22:00.140 回答