文件上传错误空白


file upload error blank?

我试图通过选择它的html表单上传文件,然后将其发送到php做实际的上传和存储在服务器上。但是当我测试它时,我得到一个完全空白的错误,所以我不知道是什么错了。

这是html:

<form action="libs/sc.php" method="post" enctype="multipart/form-data" >
    <input type="file" name="c_img1" tabindex="0" /> 
    <input type="file" name="c_img2" tabindex="1" /> 
    <input type="file" name="c_img3" tabindex="2" /> 
    <input type="file" name="c_img4" tabindex="3" /> 
    <input type="file" name="c_img5" tabindex="4" /> 
    <input type="submit" />
</form>

和php:

for($i = 1; $i <= 5; $i++) {
    if(!move_uploaded_file($_FILES["c_img$i"]["tmp_name"],"../images/cards/".$i)) {
        die('File Error: ' . $_FILES['c_img'.$i]['error'] . '<br />');
    }
    else 
        echo 'added' .$i;
}

和当我运行:

Array ( 
     [c_img1] => Array ( 
           [name] => 010_10 (2).JPG 
           [type] => image/jpeg 
           [tmp_name] => C:'Windows'Temp'php21CD.tmp 
           [error] => 0 
           [size] => 1080763 
        ) 
     [c_img2] => Array ( 
           [name] => 011_11 (2).JPG 
           [type] => image/jpeg 
           [tmp_name] => C:'Windows'Temp'php2383.tmp 
           [error] => 0 
           [size] => 612926 
        ) 
     [c_img3] => Array ( 
           [name] => 014_14 (2).JPG 
           [type] => image/jpeg 
           [tmp_name] => C:'Windows'Temp'php247E.tmp 
           [error] => 0 
           [size] => 975170 
        ) 
     [c_img4] => Array ( 
           [name] => 015_15 (2).JPG 
           [type] => image/jpeg 
           [tmp_name] => C:'Windows'Temp'php2616.tmp 
           [error] => 0 
           [size] => 1180438 
        ) 
     [c_img5] => Array ( 
           [name] => 016_16 (2).JPG 
           [type] => image/jpeg 
           [tmp_name] => C:'Windows'Temp'php27FB.tmp 
           [error] => 0 
           [size] => 1142986 
        ) 

)

警告:move_uploaded_file(../images/cards/356):打开流失败:在C:'Apache2'htdocs'test'libs'sc.php中没有这样的文件或目录在第26行警告:move_uploaded_file():无法移动"C:'Windows'Temp'php21CD.tmp"到".."/images/cards/356' in C:'Apache2'htdocs'test'libs'sc.php on line 26 File Error: 0

首先,应该使用move_uploaded_file来移动上传的文件。第二,如果我没记错的话,$_FILES['c_img'.$i]["temp_name"]是一个数组,这意味着您需要访问它:$_FILES['c_img'.$i]["temp_name"][0]; .(事实证明这是不准确的)

一些基本的调试建议

  • 您确认PHP为is_dir('../images/cards/');返回true了吗?
  • 你有没有试过添加一个文件扩展名(应该没关系,但有时Windows变得古怪,这是一个很好的做法)?你可以只分配.jpg,也可以使用pathinfo$_FILES['c_img'.$i]["name"];
  • 获取扩展名。