Ive создавал довольно большой веб-сайт для обработки изображений с использованием php/imagick, и в течение долгого времени у ive была функция, которая загружала бы размещенные файлы на сервер. Теперь он решил (за 6 часов до этого), что он не хочет принимать больше загрузок.
Я думаю, что это имеет какое-то отношение к буферизации вывода или кэшированию файлов некоторого описания на стороне сервера (я действительно не знаю много об этом). Я проверил, что типы ввода и форматы все те же, что и у них, и все же нет кубиков.
Кроме того, я даже вернулся и попытался создать очень базовую страницу загрузки, чтобы проверить это, и даже это не сработает. Код ниже для базовой страницы загрузки, я не думаю, что с ним что-то не так.
HTML:
<form action="" method="POST" enctype="multipart/form-data" >
<div class="">
<input type="text" name="title" /><br />
<input type="text" name="album" /><br />
<textarea cols="40" name="description" ></textarea><br />
</div>
<img class='' src='images/assets/upload/browse.png' /><br />
<input class='' type="file" name="image" value="" />
<input class ="" type="submit" name="upload" value="" />
PHP
<?php
//include 'includes/beginpage.php'; // включить 'методы/usermethods.php';
если (Исеть ($ _ POST [ 'отправить'])) {
// Example of accessing data for a newly uploaded file
$fileName = $_FILES["file"]["name"];
$fileTmpLoc = $_FILES["file"]["tmp_name"];
// Path and file name
$pathAndName = "Users/".$fileName;
// Run the move_uploaded_file() function here
$moveResult = move_uploaded_file($fileTmpLoc, $pathAndName);
// Evaluate the value returned from the function if needed
if ($moveResult == true) {
echo "File has been moved from " . $fileTmpLoc . " to" . $pathAndName;
} else {
echo "ERROR: File not moved correctly";
}
}?>
Я бы очень признателен за любую помощь, которую любой может мне дать.
Приветствия, Шон
РЕДАКТИРОВАТЬ:
Оказывается как-то это связано с правами доступа при создании папок на Linux. Взгляните на него позже, но сейчас у вас есть временная мера - создайте папки вручную.
Благодарим Майкла W за такой быстрый ответ, помогая мне найти те журналы сервера, которые помогли мне найти проблему
После проверки журналов ошибок на моем сервере я увидел несколько строк, которые ссылались на ошибку Imagick. Примерно через 5 минут в Google появилась общая идея, что Imagick был ограничен доступом к ресурсу. В моем случае ресурс фактически не существовал.
Мне нужно было исправить некоторый код в другом месте относительно создания каталога в корневом расположении на сервере для этих файлов сайта, используя обходное решение "umask". Я протестировал и получил сайт для правильной работы с методом mkdir(), попробовал еще раз, и все это отлично работало. Еще раз спасибо Майку W за подсказку в журналах сервера, я бы даже не подумал проверить там!