2013-10-24 118 views
1

我做了一個系統,用戶可以上傳多張圖片。這些圖像存儲在數據庫中的MEDIUMBLOB類型的字段中。在創建此功能的代碼下面。錯誤加載圖像 - MEDIUMBLOB

//Configurações para a geração de um arquivo binário temporário 
     $diretorio = "temp/"; 
     $nomeArquivo = "sipi_binario.img"; 

     if ($_FILES["arquivo"]["name"][0] != null) { 
      for ($i = 0; $i < count($_FILES["arquivo"]["tmp_name"]); $i++) { 

       $pFoto = $_FILES["arquivo"]["tmp_name"][$i]; 

       move_uploaded_file($pFoto, $diretorio . $nomeArquivo); 
       $pont = fopen($diretorio . $nomeArquivo, "rb"); 

       $dados[4][$i] = base64_encode(fread($pont, filesize($diretorio . $nomeArquivo))); 
       $dados[5][$i] = $_FILES["arquivo"]["type"][$i]; 

       fclose($pont); 
      } 
     } 

當用戶選擇了幾個iamgens,系統表現正常,但是當用戶選擇例如20幅圖片,其中一些人開始遭到損壞。見下:

enter image description here 有誰知道這是肯定的嗎?

回答

0

至於有如果不是創建了多個拇指在同一處理器上並行處理被丟失,所以有必要將下列行更改爲:

move_uploaded_file($pFoto, $diretorio . $nomeArquivo . $i); 
$pont = fopen($diretorio . $nomeArquivo . $i, "rb"); 
$dados[4][$i] = base64_encode(fread($pont, filesize($diretorio . $nomeArquivo . $i)));