基本上,用户上传图片。拍摄图像,检查正确的文件类型并在此处上传到服务器:
$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 :(得分:0)
为图像文件指定唯一名称,尝试在保存之前将时间戳添加到图像名称。