根据变量重命名图像?

时间:2014-01-12 01:20:28

标签: php html html5

我正在使用W3Schools的以下代码,您可以找到here。 但是,我听说这不是上传图像最安全的方式,而且不符合我的需要。我需要的是在文件上传时,它是根据变量$ data ['id']重命名的,这样就可以实现:

<img src="banners/<?php echo $data['id']?>.jpg; ?>">

此外,如果有人上传了另一个横幅并且它是根据$ data ['id']重命名的,那么旧横幅将被新横幅覆盖。 如果您可以带领我指向维基,或者帮助我在这里制作剧本,我们将不胜感激。

2 个答案:

答案 0 :(得分:0)

SO上有很多答案,只需查看“安全文件上传”。 在我看来,主要的想法是使用框架,而不是推出自己的功能。 Php - Silex,Laravel,Symfony,选择一个并使用所有电池。 玩得开心!

答案 1 :(得分:0)

来自W3School

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);

应替换为

$filename  = basename($_FILES['file']['name']);
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$new       = $data['id'].'.'.$extension;
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $new);

更改文件名。