phpとpdoを使用して画像をアップロードしようとしています。 はここに私のフォームPOSTによってファイルのヌル値が返される
<form action="action.php" class="w3-container" method="post" enctype="multipart/form-data">
<p> <label>Image Upload</label>
<input type="file" name="st_im"></p>
<input type="submit" value="Submit" class="w3-btn w3-blue">
<input type ="hidden" name="submitted" value="TRUE">
されており、ここだと、私はエラーを取得するフォームをsubmitingした後、私のPHPファイル
if (isset($_POST['submitted'])) {
$errors = array();
$imgFile = $_FILES['st_im']['name'];
$tmp_dir = $_FILES['st_im']['tmp_name'];
$imgSize = $_FILES['st_im']['size'];
if (empty($_POST['st_im'])) {
$errors[] = 'you forgot the picture!';
}else{
$upload_dir = 'uploads/'; // upload directory
$imgExt = strtolower(pathinfo($imgFile,PATHINFO_EXTENSION)); // get image extension
// valid image extensions
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif'); // valid extensions
// rename uploading image
$st_im = rand(1000,1000000).".".$imgExt;
}
if(in_array($imgExt, $valid_extensions)){
// Check file size '5MB'
if($imgSize < 5000000) {
move_uploaded_file($tmp_dir,$upload_dir.$st_im);
}
else{
$errors[] = "Sorry, your file is too large.";
}
}
else{
$errors[] = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
}
if (empty($errors)){
$stmt1=$conn->prepare("INSERT INTO magazia (st_img) VALUES (:st_im)");
$stmt1->bindParam(':st_im', $st_im, PDO::PARAM_STR);
$st_im= $st_im;
$stmt1->execute();
である:(st_im)がnullであることを意味し、「あなたは写真を忘れてしまいました」。私は約2時間ここに積み重なっています
私が紛失しているものは何ですか?事前
は、あなたの代わりに$ _POST [ 'st_im']の$ _FILES [ 'st_im']をチェックすべきではありませんか? – Bostjan
ありがとうございます@Bostjan – vaggelis