我需要一个脚本供用户在网站上上传他们产品的5张图片。所有其他用户只能查看图像。 我认为最好的方法是让帐户用户创建一个文件夹,然后将所需的图像上传到其中。我不认为我需要将图像注册到数据库中,因为每个都不需要搜索。
如果我使用mkdir命令并找到上传图像的脚本,那么所有其他用户是否只能获得视图访问权限?
由于 使用php和mysql
答案 0 :(得分:0)
由于问题是一般性的,答案也必须是一般性的:
对于1-2,请参阅How to upload multiple files using PHP, jQuery and AJAX的最高投票回答,看起来很有希望(请参阅此链接更新了#3部分下面的PHP代码)
使用图像名称或链接图像将记录保存到数据库,并以其他方式记录数据库记录我要做的就是2个表:
CREATE TABLE entry (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(64) NOT NULL
PRIMARY KEY (id)
);
CREATE TABLE entry_image(
id int(11) NOT NULL AUTO_INCREMENT,
image_path varchar(255) NOT NULL,
PRIMARY KEY (id)
);
3.1保存'条目' 3.2获取它的ID 3.3插入您必须的所有图像文件名' entry_image'
此处已更新代码:
mysql_query("INSERT INTO entry (name) VALUE('$name')");
$entryId = mysql_insert_id();
for($i=0; $i<count($_FILES['file']['name']); $i++){
$target_path = "uploads/";
$ext = explode('.', basename( $_FILES['file']['name'][$i]));
$target_path = $target_path . md5(uniqid()) . "." . $ext[count($ext)-1];
if(move_uploaded_file($_FILES['file']['tmp_name'][$i], $target_path)) {
echo "The file has been uploaded successfully <br />";
mysql_query("INSERT INTO entry_image (entry_id, image_path) VALUES ($entryId, '$target_path');
} else{
echo "There was an error uploading the file, please try again! <br />";
}
}
注意:
确定你需要建立mysql连接并在完成后关闭它。
此外,我还准备了所有带有预备语句的mysql
数据验证(图像),错误检查等