我有一个代码,让我的用户上传图像,它工作正常,直到我发现图像文件名是这样的“Suzuki_Swift_1.2_Comfort_(FZ_NZ)_ _Frontansicht,_26._März_2011,_Düsseldorf。 jpg“
当我上传此图片时,我的行李图标已经破损。 当我上传名为“Suzuki_Swift_1.2_Comfort”的相同图像时,它可以正常工作。
这是我的html和php代码,用于将图像上传到我的数据库中的路径中!
为什么会发生这种情况,我该如何解决呢?
HTML:
<input type="file" name="foto" onchange="readURL(this);" accept="image/gif, image/jpeg" />
PHP:
<?php
if (isset($_POST['submit']) && empty($errors) === true )
{
$name=basename($_FILES['foto']['name']);
$t_name=$_FILES['foto']['tmp_name'];
$dir='upload';
if ($_FILES['foto']['size'] >= 2097152) {
$errors[] = '- Big file';
} else {
if(move_uploaded_file($t_name,$dir."/".$name))
{
$path=$dir."/".$name;
}
}
}
?>
Img标签:
<?php $photo=mysql_query("SELECT * FROM adver ORDER BY car_id DESC LIMIT");
while($get_photo=mysql_fetch_array($photo)){ ?>
<a href="<?php echo 'car-details.php?merk='.$get_photo['merk'] .'&car_id=' .$get_photo['car_id'] .'&titel=' .$get_photo['titel'] ;?>">
<img src="<?php echo $get_photo['path']; ?>" style="border:1px solid #021a40;" alt=" <? php echo $get_photo['merk'] ;?>" />
答案 0 :(得分:0)
只需将图像重命名为随机字符串,即可阻止非法字符通过并安全防范两个用户上传同名的不同图像。