Php 我似乎不明白为什么我的图片上传脚本没有写出来
所以我花了一天中大部分的时间把图像上传到数据库,我决定找一个预先制作好的图像上传脚本。在根据我的需要调整它之后,我似乎不明白为什么它不起作用 表:Php 我似乎不明白为什么我的图片上传脚本没有写出来,php,mysql,Php,Mysql,所以我花了一天中大部分的时间把图像上传到数据库,我决定找一个预先制作好的图像上传脚本。在根据我的需要调整它之后,我似乎不明白为什么它不起作用 表: CREATE TABLE `proj_images` ( `id` int(100) NOT NULL AUTO_INCREMENT, `name` mediumtext, `type` varchar(45) DEFAULT NULL, `project_id` varchar(100) DE
CREATE TABLE `proj_images` (
`id` int(100) NOT NULL AUTO_INCREMENT,
`name` mediumtext,
`type` varchar(45) DEFAULT NULL,
`project_id` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
表格:
脚本editproc.php中的内容:
if (isset($_FILES["photo"]["name"]) && isset($_POST["pid"])){
$projectid = $_POST['pid'];
$q = ("SELECT COUNT(id) FROM WHERE user=$$projectid");
$query = $link->prepare($q);
$query->execute();
$count = $query->fetchColumn();
if($$count > 8){
exit();
}
$gallery = preg_replace('#[^a-z 0-9,]#i', '', $_POST["pid"]);
$fileName = $_FILES["photo"]["name"];
$fileTmpLoc = $_FILES["photo"]["tmp_name"];
$fileType = $_FILES["photo"]["type"];
$fileSize = $_FILES["photo"]["size"];
$fileErrorMsg = $_FILES["photo"]["error"];
$kaboom = explode(".", $fileName);
$fileExt = end($kaboom);
$db_file_name = date("r",hexdec(substr(uniqid(),0,8)))."".rand(1000,9999).".".$fileExt;
list($width, $height) = getimagesize($fileTmpLoc);
if($width < 10 || $height < 10){
header("location: ../message.php?msg=ERROR: That image has no dimensions");
exit();
}
if($fileSize > 1048576) {
header("location: ../message.php?msg=ERROR: Your image file was larger than 1mb");
exit();
} else if (!preg_match("/\.(gif|jpg|png)$/i", $fileName) ) {
header("location: ../message.php?msg=ERROR: Your image file was not jpg, gif or png type");
exit();
} else if ($fileErrorMsg == 1) {
header("location: ../message.php?msg=ERROR: An unknown error occurred");
exit();
}
$moveResult = move_uploaded_file($fileTmpLoc, "../pblc/pimg/$projectid/$db_file_name");
if ($moveResult != true) {
header("location: ../message.php?msg=ERROR: File upload failed");
exit();
}
$q = ("INSERT INTO proj_images(filename, type, project_id) VALUES ('$db_file_name','$fileType','$projectid')");
$query = $link->prepare($q);
$query->execute();
header("location: ../project.php?id=$projectid");
exit();
}
改变
<form name="form" method="POST" action="inc/editproc.php">
到
国家:
对于发送大量二进制数据或包含非ASCII字符的文本,content-type application/x-www-form-urlencoded效率低下。内容类型multipart/form data应用于提交包含文件、非ASCII数据和二进制数据的表单
提供更多信息,有错误吗?我已经尝试过,甚至尝试过不同的web服务器更改了写入权限,但仍然不工作,也没有错误。我不认为在服务器端进行调试有多么困难。var_dump和variable track、use等。好吧,我终于让所有东西都正常工作了,除了文件被移动到目录/public_html/projects/pblc/pimg/它一直在给我这个部分的错误
<form name="form" method="POST" action="inc/editproc.php">
<form name="form" method="POST" action="inc/editproc.php" enctype="multipart/form-data">