代码如下,我要上传12个图片到服务器的指定目录上,结果传不上去,move_uploaded_file()这里出错了,各位帮忙看看为什么<form method="post" enctype="multipart/form-data" action="fourofforth_pic_bgmanage.php">
<p>Pictures:<p>
<input type="hidden" name="MAX_FILE_SIZE" value="200000" />
background1 : <input type="file" name="pictures[]" /><p>
background2 : <input type="file" name="pictures[]" /><p>
background3 : <input type="file" name="pictures[]" /><p>
background4 : <input type="file" name="pictures[]" /><p>
background5 : <input type="file" name="pictures[]" /><p>
background6 : <input type="file" name="pictures[]" /><p>
background7 : <input type="file" name="pictures[]" /><p>
background8 : <input type="file" name="pictures[]" /><p>
background9 : <input type="file" name="pictures[]" /><p>
background10: <input type="file" name="pictures[]" /><p>
background11: <input type="file" name="pictures[]" /><p>
background12: <input type="file" name="pictures[]" /><p><input type="submit" value="Send" />
</p>
</form>
 <?php
$i=0;
echo getenv(DOCUMENT_ROOT)."123232";
$uploaddir = getenv(DOCUMENT_ROOT).'pic/';
echo $uploaddir;
while ($i<12) {
$i++;
if(($_FILES['pictures']['size'][$i-1])>0){
if($_FILES["pictures"]["type"][$i-1]!="image/png" &&
$_FILES["pictures"]["type"][$i-1]!="image/gif"){
echo "your ".$i."is a wrong  type! reload it.";
}else{
$uploadfile = $uploaddir.$i.".".substr(strrchr($_FILES['pictures']['name'][$i-1], '.'), 1);
         if(is_uploaded_file($_FILES['pictures']['tmp_name'][$i-1])){echo "yes is posted";}
    if(move_uploaded_file($_FILES["pictures"]["tmp_name"][$i-1], $uploadfile)){
    echo "ok";
    }else{
      echo "server level wrong happened! Here's some debugging info:\n";
   print_r($_FILES);

    }
}
}
}
?>

解决方案 »

  1.   

    幾個可能:
    1.上傳的文件大小超過PHP支持的默認值
    2.上傳時間超過PHP的時間
    3.$uploadfile所在的文件夾不存在,引起出錯
      

  2.   

    附php.ini相關參數設置:
    file_uploads  =  on  ;是否允许通过HTTP上传文件的开关。默认为ON即是开upload_tmp_dir  ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹upload_max_filesize  =  100m  ;望文生意,即允许上传文件大小的最大值。默认为2M
    post_max_size  =  100M ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
    一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。
    但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。除非你的网络真有100M/S的上传高速,否则你还得关心关心下面的参数:
    max_execution_time  =  600 ;每个PHP页面运行的最大时间值(秒),默认30秒max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒memory_limit  = 128M ;每个PHP页面所吃掉的最大内存,默认8M