我正在使用W3Schools的以下代码,您可以找到here。 但是,我听说这不是上传图像最安全的方式,而且不符合我的需要。我需要的是在文件上传时,它是根据变量$ data ['id']重命名的,这样就可以实现:
<img src="banners/<?php echo $data['id']?>.jpg; ?>">
此外,如果有人上传了另一个横幅并且它是根据$ data ['id']重命名的,那么旧横幅将被新横幅覆盖。 如果您可以带领我指向维基,或者帮助我在这里制作剧本,我们将不胜感激。
答案 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);
更改文件名。