0

航空代码:

for(var j:int=0;j&quote ContenedorListaArchivos.numChildren;j++) 
{ 

    var M:MovieClip = MovieClip(ContenedorListaArchivos.getChildAt(j)); 

    if(M.UploadedFile.Estado==1) 
    { 
    var file:File = File.desktopDirectory.resolvePath(M.FullPath);                     
    file.addEventListener(ProgressEvent.PROGRESS,M.ProgresoUpload);
    file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,M.CompleteUpload);  ‌​ 
    file.upload(new URLRequest(_phpscript+"?Opcion=UploadFile&destination="+_destination));
    } 
}

PHP代码:

<?php

tempFile = $_FILES['Filedata']['tmp_name'];
$fileName = $_FILES['Filedata']['name'];
$fileSize = $_FILES['Filedata']['size'];

$dir = ($_GET['destination']) ? $_GET['destination'] : 'images';

if (!file_exists($dir)) mkdir($dir, 0777);

$isMove =move_uploaded_file($tempFile, $dir .'/'. $fileName);

if($isMove)
echo "OK";
else
echo "NO";

?>

当我上传一个文件时,PHP 返回 OK。但是,当上传多个文件时,只有第一个是“OK”,另一个返回“NO”。

为什么?代码有什么问题?我应该在文件 PHP.ini 中更改什么?

谢谢您最好的问候。

4

1 回答 1

0

你松了作业?上传多个文件

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>

提交上述表单时,数组 $_FILES['userfile']、$_FILES['userfile']['name'] 和 $_FILES['userfile']['size'] 将被初始化(以及4.1.0 之前的 PHP 版本在 $HTTP_POST_FILES 中)。当 register_globals 打开时,上传文件的全局变量也会被初始化。这些中的每一个都将是提交文件的适当值的数字索引数组。

例如,假设文件名 /home/test/review.html 和 /home/test/xwp.out 已提交。在这种情况下,$_FILES['userfile']['name'][0] 将包含值 review.html,而 $_FILES['userfile']['name'][1] 将包含值 xwp.out . 同样,$_FILES['userfile']['size'][0] 将包含 review.html 的文件大小,依此类推。

$_FILES['userfile']['name'][0]、$_FILES['userfile']['tmp_name'][0]、$_FILES['userfile']['size'][0] 和 $ _FILES['userfile']['type'][0] 也被设置。

如果你是初学者

<?php

function reArrayFiles(&$file_post) {

$file_ary = array();
$file_count = count($file_post['name']);
$file_keys = array_keys($file_post);

for ($i=0; $i<$file_count; $i++) {
    foreach ($file_keys as $key) {
        $file_ary[$i][$key] = $file_post[$key][$i];
    }
 }

 return $file_ary;
}



    if ($_FILES['upload']) {
        $file_ary = reArrayFiles($_FILES['userfile']);

        foreach ($file_ary as $file) {
            print 'File Name: ' . $file['name'];
            print 'File Type: ' . $file['type'];
            print 'File Size: ' . $file['size'];
        }
    }


    ?>
于 2013-03-19T05:24:26.590 回答