Я пытаюсь загрузить изображение в путь к файлу и не могу заставить его работать. это код, который я использовал раньше, и все работало нормально. Я проверил разрешения и все в порядке. Понятия не имею, что я делаю не так ..
Проверил все разрешения и все вроде бы ок
Сервер способен загружать через PHP
if (isset($_POST['file'])) {
$targetDir = "../images/gallery-images/";
$fileName = basename($_FILES["file"]["name"]);
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
$allowTypes = array('jpg','png','jpeg','gif','pdf');
if(in_array($fileType, $allowTypes)){
move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath);
}
if (empty($fileName)) {
$error = 'All fields are required!';
} else {
$query = $pdo->prepare('INSERT INTO gallery gallery_image VALUES ?');
$query->bindValue(1, $fileName);
$query->execute();
header('Location: gallery.php');
}
}
/ * ФОРМА * /
<form class="add-new-post" method="POST" action="gallery.php" enctype="multipart/form-data">
<div class="form-group">
<label class="" for="featured">Add Image - 500px x 300px:</label>
<input type="file" class="ml-3" name="file">
</div>
<input class="btn btn-sm btn-accent ml-auto" type="submit" value="Add Image" />
</form>
В принципе ничего не происходит …
Проверить, если file_uploads = off
редактировать в file_uploads=On
в php.ini
и исправить запрос, чтобы быть таким
$sth = $dbh->prepare('INSERT INTO table_name (column1) VALUES (:calories) ');
$sth->bindParam(':calories', $calories);
$sth->execute();
а также попробуйте использовать strtolower();
$fileType = strtolower(pathinfo($targetFilePath,PATHINFO_EXTENSION));
$allowTypes = array('jpg','png','jpeg','gif','pdf');
if(in_array($fileType, $allowTypes)){
move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath);
}
Других решений пока нет …