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";

?>

1つのファイルをアップロードすると、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 に答える