作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我需要一些帮助来将图像上传到我的网站,我已经更改了这个脚本几次,但我就是无法让它正常运行?
当我尝试上传任何图像时,脚本似乎失败,没有更新记录,也没有上传图像?我对脚本做错了什么吗?
if(isset($_POST['uploadimage'])){
$user = $_POST['user'];
$target_dir = "userimg/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
$check = getimagesize($_FILES["fileToUpload"]);
if($check !== false) {
$uploadOk = 1;
} else {
$imgerror = 1;
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
$imgerror = 2;
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"] > 500000) {
$imgerror = 3;
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
$imgerror = 4;
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$filenameimg = basename( $_FILES["fileToUpload"]);
mysqli_query($conn, "UPDATE friends_list SET display_img = '$filenameimg' WHERE id = '$user'");
$imgerror = 6;
} else {
$imgerror = 5;
}
}
}
最佳答案
您似乎在这里遗漏了几个重要的部分,导致问题的第一部分是您的 basename
函数,您没有包含文件名。
$target_file = $target_dir 。基本名称($_FILES["fileToUpload"]);
应该是
$target_file = $target_dir 。 basename($_FILES["fileToUpload"]["name"]);
并且要获取图像大小,也需要使用相同的过程:
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
也可以使用这个想法来更改您的“检查文件大小”部分,我不会为您做您的工作,但我会向您发送正确的方向。您还需要记住添加 tmp_name
来移动上传的文件。
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
纠正这些错误后,图像应该可以正确处理。除非您遇到任何其他错误?
关于php - 图片上传脚本无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34002537/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!