我正在尝试通过选择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):无法打开流:第26行的C:\ Apache2 \ htdocs \ test \ libs \ sc.php中没有此类文件或目录警告:move_uploaded_file() :无法在第26行的C:\ Apache2 \ htdocs \ test \ libs \ sc.php中将'C:\ Windows \ Temp \ php21CD.tmp'移动到'../ images/cards/356'文件错误:0 < / p>
答案 0 :(得分:1)
首先,您应该使用move_uploaded_file
来移动上传的文件。 其次,(原来这是不准确的)$_FILES['c_img'.$i]["temp_name"]
,如果我没记错的话,是一个数组,这意味着你需要访问它:$_FILES['c_img'.$i]["temp_name"][0];
。
is_dir('../images/cards/');
.jpg
,也可以使用pathinfo
从$_FILES['c_img'.$i]["name"];
获取扩展程序