这是我的错误:上传的PHP脚本错误的运动图像文件夹
(添加注释,以55行)一个想法是修改脚本,没有移动的文件,但不知道该怎么做。不知道如果这甚至会工作,因为我需要它输出到文件夹上传具有相同名称的文件已经开始。
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Title:<br>
<input type="text" name="imgTitle" required><br><br>
Upload a File: <input type="file" name="imgUploaded" id="imgUploaded"><br><br>
Comments: <br>
<textarea name="imgDesc" rows="4" cols="35"required></textarea><br><br>
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
<?php
if (isset($_POST["submit"])) {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["imgUploaded"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$imgTitle = $_POST['imgTitle'];
$imgDesc = $_POST['imgDesc'];
$servername = "sn";
$username = "un";
$password = "pw";
$dbname = "db";
echo $imgDesc;
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["imgUploaded"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
if ($_FILES["imgUploaded"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
if (move_uploaded_file($_FILES["imgUploaded"]["tmp_name"],$target_file)) // this is line 55
{
$imgPath = $_FILES["imgUploaded"]["name"];
$conn = mysqli_connect($servername, $username, $password, $dbname);
$sql = "INSERT INTO BrianJones (sqlName, sqlDesc, sqlPath)
VALUES ('$imgTitle', '$imgDesc', '$imgPath')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
echo "The file ". basename($_FILES["imgUploaded"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
}
?>
不知道如何解决这个问题,显然是想要我的临时图像移动到文件夹上传,因为我没有权限时,这是一个错误。我怎样才能解决这个问题?
注:我不能给自己任何权限,它工作正常,在本地主机,但我不得不把它上传到网络服务器和测试,我只能修改PHP和不更改任何服务器设置。
您应该检查该文件夹是否存在,以及该文件夹是否具有服务器的写入权限。 '注意:我不能给自己任何权限'< - 你错了。您可以更改您拥有的所有文件夹和文件的权限。 – bansi