2015-07-09 67 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

为图像文件提供唯一的名称尝试在保存之前将时间戳添加到图像的名称。