2015-07-09 191 views
1

基本上,用戶上載圖像。所拍攝的相片,檢查正確的文件類型,並上傳到這裏的服務器:圖像沒有顯示正確的圖像..?

$directory = 'uploads/'; 
$files = glob($directory . 'audit'.$id.'_image*.jpg'); 
$count = 0; 
if ($files !== false) { 
    $count = count($files) + 1; 
} 

if (!empty($_FILES)) { 

    $tempFile = $_FILES['file']['tmp_name'];   //3 

    $rename = explode('.', $_FILES['file']['name']); 

    $nameString = 'audit'.$id.'_image'.$count.'.'.strtolower($rename[1]); 

    //only allow certain image files 
    $allowed = array( 'jpg'     
         ); 

    if (in_array(strtolower($rename[1]), $allowed)) { 

     $targetPath = dirname(__FILE__) . $ds. $storeFolder . $ds; //4 

     $targetFile = $targetPath. $nameString; //5 

     move_uploaded_file($tempFile,$targetFile); //6 
    } 

} 

文件的名稱更改爲適合用於檢索格式。這將是 audit(iD)_image*.jpg

或一個例子audit65_image1.jpg

現在,這個工作正常,圖像上傳。

但是,當涉及到查看文件檢索..發生這種情況!

 $directory = 'uploads/'; 
     $files = glob($directory . 'audit'.$row['id'].'_image*.jpg'); 

     if (count($files) > 0) { 
     ?> 

     <div class="row"> 
      <div class="col-md-12"> 
       <section class="panel"> 
        <div class="panel-body">        
         <div class="col-md-12" style="text-align:center;">        
          <div class="panel-heading no-b"> 
           <h5>Image <b>Uploads</b></h5> 
          </div> 
         </div> 

         <?php 

         foreach ($files as $key => $value) { 
          ?> 
          <div class="col-sm-2"> 
           <a href=<?php echo '"'.$value.'"'; ?>><img style="box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.65);" src=<?php echo '"'.$value.'"'; ?> class="superbox-img"/></a> 
          </div> 
          <?php 
         } 
         ?> 

        </div> 
       </section> 
      </div> 
     </div> 
     <?php 
     } 
     ?> 

我再也看不到問題了!然而,在網頁上..它會加載不正確的圖像,所以如果我上傳了3個文件,它就像是保存到我的系統或某個系統的一部分,這是一個大問題。但它基本上顯示了一個不存在的圖像。如果我將文件名稱從audit65_image1.jpg更改爲audit65_image3.jpg,則網頁上顯示的圖像會發生變化。我非常困惑。我試圖在不同的計算機上加載網頁來解釋緩存,並且它也在那裏加載了錯誤的圖像,即使該文件不存在它正在加載的圖像!

有沒有人有任何想法發生了什麼問題?

+0

'var_dump($ _ FILES));'這樣你就可以檢查並看到你收到的文件了嗎? –

+0

@RyanVincent我收到了正確的文件,但是,在uploads文件夾中,該文件可能被稱爲'image3',但瀏覽器檢索到不同的圖像。只有以前有過這個名字的圖片。 – Daniel

回答

0

爲圖像文件提供唯一的名稱嘗試在保存之前將時間戳添加到圖像的名稱。