Я работаю над функцией загрузки изображений на свой файловый сервер и в то же время создаю предварительный просмотр большого пальца и создаю запись в мою базу данных mysql. До тех пор, как работает функция upload_image(), она загружает изображение и создает большой палец.Функция PHP-формы работает, но возвращает пустую страницу
Проблема заключается в том, что, когда я нажимаю кнопку отправки, чтобы загрузить выбранное изображение, функция PHP выполняет свою работу, но возвращает BLANK PAGE. Да, я знаю, «еще одна пустая страница вопроса о смерти, пойдите, найдите все остальные 53 сообщения, связанные с этим вопросом, и найдите решение« правильно? Ну, это не так просто.
Я пробовал каждый метод в этих вопросах и еще одну связку, которую я нашел в этом забытом месте, называемом интернетом, и ничто не работает для меня, я всегда получаю ту же пустую страницу смерти без предупреждения или ошибки.
Что я пробовал, спросите вы? Следующее просто представит соответствующий набор решений, которые я нахожу:
- Настройка параметров PHP.INI для ошибки: DONE. Даже создание файла журнала для каждой отдельной ошибки.
- Переопределение параметров PHP.INI из функции php-файла с настройками: DONE. Также я использовал сценарий из некоторых ответов, которые перекрывают протокол протокола ошибок.
- Поместите функцию выхода ('wtf') с начала на снизу, чтобы увидеть, есть ли ее синтаксическая ошибка или ошибка на определенной строке: DONE. Каждая строка будет печатать WTF на забытой боге странице.
Ну, есть другие решения, которые я пробовал, буду моим гостем и предложите некоторые ответы, и я скажу вам, если я уже пробовал.
Позволяет добраться до него. Мой HTML-код, который вызывает файл РНР:
<form action="assets/php/image_uploader.php" method="post" enctype="multipart/form-data">
<input type="file" name="myfile" id="fileToUpload">
</br>
</br>
<input type="text" name="title" value="Titulo" size="64">
<br>
<br>
<input type="submit" value="Upload Image" name="submit">
</form>
И мой image_uploader.php код:
<?php
function upload_image()
{
$root = realpath($_SERVER["DOCUMENT_ROOT"]);
$name = "image_" . date('Y-m-d-H-i-s') . "_" . uniqid() . ".jpg";
$type= $_FILES["myfile"]["type"];
$size= $_FILES["myfile"]["size"];
$temp= $_FILES["myfile"]["tmp_name"];
$error= $_FILES["myfile"]["error"];
if ($error > 0)
{
die("Error uploading file! code $error.");
}
else
{
if($type=="image/png" || $size > 2000000)//condition for the file
{
die("Format not allowed or file size too big!");
}
else
{
if(move_uploaded_file($temp, $root . "/images/fulls/" . $name))
{
list($ancho, $alto) = getimagesize($root . "/images/fulls/" .$name);
$nuevo_alto = 212;
$nuevo_ancho = 212;
$dx = 0;
$dy = 0;
$sx = 0;
$sy = 0;
if($ancho == $alto)
{
}
else
{
if($ancho > $alto)
{
$nuevo_ancho = $ancho * (212/$alto);
}
else
{
$sy = $alto/2 - $nuevo_alto/2;
$alto = $ancho;
}
}
$thumb = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
$origen = imagecreatefromjpeg($root . "/images/fulls/" .$name);
imagecopyresampled($thumb, $origen, $dx, $dy, $sx, $sy, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
imagejpeg($thumb, $root . "/images/thumbs/" .$name);
imagedestroy($thumb);
echo "The file ". basename($_FILES["myfile"]["name"]). " has been uploaded.";
}
}
}
}
if(isset($_POST['submit']))
{
upload_image();
}
?>
Пожалуйста, обратите внимание, что это Joomla и действия формы не совпадают. Вы можете просто ссылаться на такой файл PHP. Я не скажу, что прочитал множество вопросов, поскольку я знаю, что разработка для Joomla может быть тяжелой, так как мы все были там, но чтобы увидеть, как работает простая форма, возможно, посмотрите на модуль Login;) Чтение документации также покажет вам, как использовать стандарты кодирования Joomla, например, не используя '$ _POST',' $ _FILES' или 'date()'. У Joomla есть собственный API, поэтому для обеспечения безопасности, проверки и просто лучшего кода я бы предложил использовать его – Lodder
@Lodder оправдывает мое невежество; Почему вы упоминаете Joomla? –
О, дерьмо. Извините, что опубликовал это на неправильной вкладке. ** уходит в постель ** – Lodder