這是我的錯誤:上傳的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