私はこれに対する答えをどこからでも探していて、多くの記事を見つけましたが、どれも役に立たなかった。だから私は皆の助けをここに求める。PHPイメージアップロードの許可の問題
私はここで私は、画像をアップロードするときに私が取得エラーです
をホスティングGoDaddyはのWindowsのWebを使用しています:
PHP Warning: move_uploaded_file(../uploads/aczbyfeoghtmduikwxjrlnvqsp3.jpg): failed to open stream: Permission denied in G:\PleskVhosts\minebloxmc.net\httpdocs\web\upload.php on line 48
PHP Warning: move_uploaded_file(): Unable to move 'C:\Windows\Temp\php27A2.tmp' to '../uploads/aczbyfeoghtmduikwxjrlnvqsp3.jpg' in G:\PleskVhosts\minebloxmc.net\httpdocs\web\upload.php on line 48
そしてここでは、私のコードです:
<?php
session_start();
$target_dir = "../uploads/";
$str = 'abcdefghijklmnopqrstuvwxyz';
$shuffled = str_shuffle($str);
$target_file = $target_dir . $shuffled . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["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["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" && $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["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename($_FILES["fileToUpload"]["name"]). " has been uploaded.";
echo '<br>';
$con = mysqli_connect('127.0.0.1','root','sutdenlol1');
if(!$con){
echo 'Not Connected to Server';
}
if(!mysqli_select_db($con,'mineblox')){
echo 'Not Selecting Database';
}
$sql = "UPDATE users
SET Profilepic='$target_file' WHERE ID = ". $_SESSION['id'] ." ";
if(!mysqli_query($con,$sql)) {
echo 'Not Inserted';
} else {
echo 'Inserted';
}
} else {
echo "Sorry, there was an error uploading your file.";
}
}
echo '<br>';
echo '<img src="../uploads'.$target_file.'"/>';
?>
'uploads'フォルダのパーミッションを確認してください。それは '書き込み'の許可を持っている必要があります –
私はそれをどのようにしますか? – Allosaurus