2013-02-21 84 views
0

我嘗試從PHP中的窗體上傳圖片。奇怪的問題與圖像從PHP上載形式

我有關於我的圖片一個奇怪的問題上傳:

我的形式:

<form id="booking-step" method="post" action="add.php" class="booking" autocomplete="off" enctype="multipart/form-data"> 
<input type="file" id="AddPhotos1" name="AddPhotos[]" /> 
<input type="file" id="AddPhotos2" name="AddPhotos[]" /> 
<input type="file" id="AddPhotos3" name="AddPhotos[]" /> 
<input type="file" id="AddPhotos4" name="AddPhotos[]" /> 
<input type="file" id="AddPhotos5" name="AddPhotos[]" /> 
</form> 

我的PHP:

if($_FILES['AddPhotos']){ 
    $errorAddPhotos = ""; 
    $validAddPhotos = ""; 
    for($x=0;$x<sizeof($_FILES["AddPhotos"]["name"]);$x++){ 
     $fichier = basename($_FILES['AddPhotos']['name'][$x]); 
     $taille_maxi = 3000; 
     $taille = filesize($_FILES['AddPhotos']['tmp_name'][$x]); 
     $extensions = array('.png', '.jpg', '.jpeg'); 
     $extension = strrchr($_FILES['AddPhotos']['name'][$x], '.'); 
     if(!in_array($extension, $extensions)) 
     { 
      $errorAddPhotos .= "Wrong extension.<br />"; 
     } 
     if($taille>$taille_maxi) 
     { 
      $errorAddPhotos .= "Wrong size.<br />"; 
     } 
     if((in_array($extension, $extensions)) && ($taille<$taille_maxi)) 
     { 
      $fichier = strtr($fichier, 
        'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
        'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); 
      $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); 
      if(move_uploaded_file($_FILES['AddPhotos']['tmp_name'][$x], $destin . $fichier)) 
      { 
        $validAddPhotos = 'Success!'; 
      } 
      else 
      { 
        $errorAddPhotos = 'Wrong'; 
      } 
     }   
     } 
    } 

echo $validAddPhotos; 
echo $errorAddPhotos 

我的代碼看起來不錯,但我不能載我文件...

錯誤:我的文件保持條件「if(!in_array($ extension,$ extensions))」。

你能幫忙嗎?

謝謝。

+0

您使用什麼樣的瀏覽器? – Kannika 2013-02-21 17:54:47

+0

我使用Safari。謝謝。 – 2013-02-21 17:56:16

+0

嘗試打印出你的變量$ extension,你看到了什麼?它是否與您的數組$擴展相同?同樣,看着你的上傳文件的名字。 – Kannika 2013-02-21 18:00:03

回答