为什么没有使用php表单将图像文件上传到特定文件夹

Why is the image file not being uploaded to a specific folder using php forms

提问人:Anup.D.T 提问时间:11/5/2023 最后编辑:AdiAnup.D.T 更新时间:11/8/2023 访问量:33

问:

这是我的代码,它选择图像文件并上传到指定的文件夹上。但是我在程序中遇到了问题。所选文件不会上传到分配给的“fillll”文件夹,而是上传到“Pictues”文件夹。 如何纠正此行为?$target_dir

<?php

if($_SERVER["REQUEST_METHOD"]==="POST"){

    if (isset($_FILES['fileToUpload']) && !empty($_FILES['fileToUpload']['name'])) {
        $target_dir = 'C:/Users/HP-PC/Pictures/filll';
        $target_file = $target_dir . basename($_FILES['fileToUpload']['name']);
        $uploadOk = 1;
        $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
        $fileError="";
        $succsess="";

        $check = getimagesize($_FILES['fileToUpload']['tmp_name']);
            if ($check !== false) {
                $success = "File is an image - " . $check['mime'] . ".<br>";
                $uploadOk = 1;
            } else {
                $fileError .= "File is not an image.<br>";
                $uploadOk = 0;
            }

            if (file_exists($target_file)) {
                $fileError .= "Sorry, file already exists.<br>";
                $uploadOk = 0;
            }


            if ($_FILES["fileToUpload"]["size"] > 500000) {
                $fileError.="Sorry, your file is too large.<br>";
                $uploadOk = 0;
            }

            if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) {
                $fileError .= "Sorry, only JPG, JPEG, PNG & GIF files are allowed.<br>";
                $uploadOk = 0;
            }

            if ($uploadOk == 0) {
                $fileError .="Sorry, your file was not uploaded.<br>";
            // if everything is ok, try to upload file
            } else {
                if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
                    $fileError .="The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.<br>";
                } else {
                    $fileError.= "Sorry, there was an error uploading your file.<br>";
                }
            }
        }else{
            $fileError="Plz select the file";
        }
}
?>
PHP HTML 表单

评论

1赞 Adi 11/5/2023
你在本地运行吗?您已将 设置为本地计算机上的绝对路径。您的 Web 服务器可能没有写入此目录的权限,或者可能无法从 Web 服务器的上下文访问该路径$target_dir'C:/Users/HP-PC/Pictures/filll'
0赞 Adi 11/5/2023
您应该在 Web 服务器的目录结构中使用相对路径,而不是绝对路径。
0赞 Anup.D.T 11/5/2023
是的,我正在使用 xampp 软件在本地练习 php
0赞 Anup.D.T 11/5/2023
它只存储在“图片”中,我该如何解决这个问题
1赞 Honk der Hase 11/5/2023
看看真正包含什么.. 缺少路径分隔符,则说明目标文件名构建不正确。$target_file$target_dir

答: 暂无答案