图像没有显示正确的图像..?

时间:2015-07-09 21:50:44

标签: php html

基本上,用户上传图片。拍摄图像,检查正确的文件类型并在此处上传到服务器:

$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,则网页上显示的图片会发生变化。我完全糊涂了。我尝试在不同的计算机上加载网页以解决缓存问题,并且在那里加​​载了错误的图像,即使文件不存在也无法加载!

有没有人知道出了什么问题?

1 个答案:

答案 0 :(得分:0)

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