2011-12-20 3 views
0

私はこれを正しく動作させるように見えません。私はそれを持っていると思います。見てください...複数のファイルのアップロードが機能していない、is_upload_fileもありません

私は複数のファイルをアップロードしようとしていますが、ここには私のPHPがあります。ファイルに問題があると言いますが、is_uploaded_fileを削除すると、 。

include('image.php'); 
$image = new SimpleImage(); 

foreach(array_keys($_FILES['ref']['name']) as $i) { 

    if (is_uploaded_file($_FILES['ref']['name'][$i])) { 
     $time = date("fYhis"); 
     $destination="./../img/treatments/" .$pageid. "/refimgs"; 
     $tdestination="./../img/treatments/" .$pageid. "/refimgs/thumbs"; 
     $image->load($_FILES['ref']['name'][$i]); 
     $image->save($destination . '/' .$time . $i . '.jpg');  
     $image->resizeToWidth(140); 
     $image->save($tdestination . '/' .$time . $i . '.jpg'); 

    }else{ echo "Possible file upload attack: "; 
     echo "filename '". $_FILES['ref']['name'][$i] . "'."; 
    } 
} 
+0

フォームに 'enctype =" multpart/form-data "を設定しましたか? –

+0

私はそれほど変わっていませんでしたが、同じ問題があるようです。 –

+0

完全なエラーメッセージは何ですか? '$ _FILES ['ref'] ['error'] [$ i]'を使ってエラーメッセージを取得してみてください。 –

答えて

1

あなたはis_uploaded_file機能で$_FILES['ref']['tmp_name']を使用する必要があります。クライアント・マシンでのファイルのnameがサーバで有効ではないですし、代わりにtmp_nameを使用する必要があります。

include('image.php'); 
$image = new SimpleImage(); 
foreach(array_keys($_FILES['ref']['name']) as $i) { 

    if (is_uploaded_file($_FILES['ref']['tmp_name'][$i])) { 
     $time = date("fYhis"); 
     $destination="./../img/treatments/" .$pageid. "/refimgs"; 
     $tdestination="./../img/treatments/" .$pageid. "/refimgs/thumbs"; 
     $image->load($_FILES['ref']['name'][$i]); 
     $image->save($destination . '/' .$time . $i . '.jpg');  
     $image->resizeToWidth(140); 
     $image->save($tdestination . '/' .$time . $i . '.jpg'); 

    }else{ echo "Possible file upload attack: "; 
     echo "filename '". $_FILES['ref']['name'][$i] . "'."; 
    } 
} 

注: 更新されたコード行は次のようになります。 これで問題を解決するのに役立ちます。

+0

私たちは行く、なぜ私はそれが名前に設定していた、確かに確認していない –

関連する問題