Привет, новичок здесь, и мне очень понравилась бы небольшая помощь. Я заимствовал это из онлайн-учебника и пытаюсь настроить для своих нужд.
Этот файл работает, но выходные сообщения печатаются на другой странице / экране. Просто, что мне нужно, сообщения проверки должны печататься на одной странице / экране без перенаправления. Я попытался удалить $location
из функции, но, похоже, мне не помогает. Как сделать все сообщения проверки правильности в MSGPane
?
Спасибо за помощь.
Вот код;
<?php $directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']); if(isset($_POST['submit'])) { $directory_self = str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']); $uploadsDirectory = $_SERVER['DOCUMENT_ROOT'] . $directory_self . 'uploaded_files/'; $uploadForm = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . 'index.php'; $uploadSuccess = 'http://' . $_SERVER['HTTP_HOST'] . $directory_self . $_SERVER['PHP_SELF']; $fieldname = 'file'; $errors = array(1 => 'php.ini max file size exceeded', 2 => 'html form max file size exceeded', 3 => 'file upload was only partial', 4 => 'no file was attached'); isset($_POST['submit']) or error('the upload form is neaded', $uploadForm); ($_FILES[$fieldname]['error'] == 0) or error($errors[$_FILES[$fieldname]['error']], $uploadForm); @is_uploaded_file($_FILES[$fieldname]['tmp_name']) or error('not an HTTP upload', $uploadForm); @getimagesize($_FILES[$fieldname]['tmp_name']) or error('only image uploads are allowed', $uploadForm); $now = time(); while(file_exists($uploadFilename = $uploadsDirectory.$now.'-'.$_FILES[$fieldname]['name'])) { $now++; } @move_uploaded_file($_FILES[$fieldname]['tmp_name'], $uploadFilename) or error('receiving directory insuffiecient permission', $uploadForm); header('Location: ' . $uploadSuccess); } function error($error, $location, $seconds = 5) { header("Refresh: $seconds; URL=\"$location\""); echo " <div id='Upload'>\n\n <h1>Upload failure</h1><br> <p>An error has occured: <span class='red'>. $error .</span><br> The upload form is reloading</p> </div>"; exit; } $max_file_size = 3500000; // size in bytes ?> <!doctype html> <html> <head><title></title></head> <body> <table> <tr> <td class='MSGPane'></td> </tr> </table> </html>