0
phpで画像ファイルをアップロードして名前を変更しようとしましたが、ファイルを自分が望むフォルダに移動しませんでした。コード?PHPを使ってファイルを特定のフォルダにアップロードするには
$filename = $_POST["avatar"];
$expl = explode('.', $filename);
$file_basename = $user; // give new name
$file_ext = $expl[1]; // get file extention
$filesize = $_FILES["avatar"]["size"];
$allowed_file_types = array('gif', 'jpg', 'pjpg', 'png');
$target_dir = "images/avatars/";
$newfilename = $file_basename . '.' . $file_ext;
$target_file = $target_dir . $newfilename;
if (in_array($file_ext, $allowed_file_types) && ($filesize < 2000000000)) {
if (file_exists($target_dir . $newfilename)) {
echo "You have already uploaded this file.";
} else {
move_uploaded_file($_FILES['avatar']['tmp_name'], $target_dir);
if (!move_uploaded_file($_FILES['avatar']['tmp_name'], $target_file)) {
echo "There was an error uploading the file, please try again!";
} else {
$avaq = "UPDATE portfoliotext SET avatar = '$newfilename'";
$resava = mysqli_query($conn, $avaq);
echo "File uploaded successfully.";
}
}
} elseif ($filesize > 2000000000) {
echo "The file you are trying to upload is too large.";
} else {
echo "Only these file typs are allowed for upload: " . implode(', ', $allowed_file_types);
}
} else {
echo "Invalid file";
}
1:あなたは属性セット 'のenctype = "multipart/form-data" を'持って確認してください。 2:ディレクトリの所有権とアクセス許可を確認する(** ** 777でない)2:ファイル拡張子の検証はほとんど無意味で、スクリプトは* my.lovely.horse.jpg * – CD001
のような画像を拒否する – scoopzilla