При загрузке файла в выбранную папку php никак не хочет писать "успешно", где надо вставить echo? и как? upload выдаёт true при успехе, может надо ловить при возврате в html этот true? как? if (move_uploaded_file($tmpFilePath, $newFilePath)) { //Handle other code here }
Слегка модифицированный пример с документации.Все выводится хорошо.Что то видимо у тебя в коде PHP: <?php if($_SERVER['REQUEST_METHOD'] == 'POST') { $uploaddir = 'C:\ospanel\domains\localhost\download\\'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "Файл корректен и был успешно загружен.\n"; } else { echo "Возможная атака с помощью файловой загрузки!\n"; } echo 'Некоторая отладочная информация:'; print_r($_FILES); print "</pre>"; } ?> <!-- Тип кодирования данных, enctype, ДОЛЖЕН БЫТЬ указан ИМЕННО так --> <form enctype="multipart/form-data" action="" method="POST"> <!-- Название элемента input определяет имя в массиве $_FILES --> Отправить этот файл: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form>
не понял... скопировал с письма только это и вставил в рабочий код echo "Файл корректен и был успешно загружен.\n"; } else { echo "Возможная атака с помощью файловой загрузки!\n"; } вообще всё перестало работать, вставил предыдущий рабочий код, тоже перестал работать, это что значит?
в папке загруженных файлов не было. до перезагрузки. появились все. что такое... --- Добавлено --- весь код вот, куда надо вставить echo? вставлял после последнего if, безуспешно <?php header('Content-Type: text/plain; charset=utf-8'); $uploaddir = './1/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); //$files = array_filter($_FILES['upload']['name']); something like that to be used before processing files. // Count # of uploaded files in array $total = count($_FILES['upload']['name']); // Loop through each file for($i=0; $i<$total; $i++) { //Get the temp file path $tmpFilePath = $_FILES['upload']['tmp_name'][$i]; //Make sure we have a filepath if ($tmpFilePath != ""){ //Setup our new file path $newFilePath = "/1/" . $_FILES['upload']['name'][$i]; //Upload the file into the temp dir if(move_uploaded_file($tmpFilePath, $newFilePath)) { //Handle other code here } } } header ("Location: ".$_SERVER['HTTP_REFERER']); ?>
Так будет понятней. Щас посмотрю PHP: <?php header('Content-Type: text/plain; charset=utf-8'); $uploaddir = './1/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); //$files = array_filter($_FILES['upload']['name']); something like that to be used before processing files. // Count # of uploaded files in array $total = count($_FILES['upload']['name']); // Loop through each file for($i=0; $i<$total; $i++) { //Get the temp file path $tmpFilePath = $_FILES['upload']['tmp_name'][$i]; //Make sure we have a filepath if ($tmpFilePath != ""){ //Setup our new file path $newFilePath = "/1/" . $_FILES['upload']['name'][$i]; //Upload the file into the temp dir if(move_uploaded_file($tmpFilePath, $newFilePath)) { //Handle other code here } } } header ("Location: ".$_SERVER['HTTP_REFERER']); ?> --- Добавлено --- после //Handle other code here вставь PHP: echo 'Загрузка успешна!';
У тебя в обработчике после обработки файлов сразу редиректит на реферера. Вставишь что то на вывод, получишь ошибку, что заголовки уже отправлены.
делал и так и многокак по другому и эдак и почему-то ничего не пишет страница...как-то делал с отражением true в адресе...в адресе true появилось, может true ловить ?
И кстати да у тебя PHP: header ("Location: ".$_SERVER['HTTP_REFERER'].'?complete=true'); в конце файла. Не заметил. Лови переменную PHP: $_GET['complete']
true в адресе появляется, как его ловить в html? --- Добавлено --- где и как ловить переменную? в php или при возврате в адресе html? наверно не так.... $_GET['complete'] echo 'Загрузка успешна!'; ?>
переадресация обратно в html, вставил <?php $_GET['complete'] echo 'Загрузка успешна!'; ?> не работает вот код с html с вставленным php, не работает <div style="position:absolute;top:27.5%;left:1%;z-index:100;"> <form enctype="multipart/form-data" action="upload1.php" method="POST"> <p>Загрузите ваш поэтажный план или экспликацию помещения или рисунок с размерами</p> <!-- Название элемента input определяет имя в массиве $_FILES --> <input name="upload[]" type="file" multiple accept="image/*" /> <input type="submit" value="Отправить файл" /> <?php $_GET['complete'] echo 'Загрузка успешна!'; ?> </form> </div>
ваш код унылое говно --- Добавлено --- если вы изображения грузите, и только, возможно это поможет. https://github.com/MouseZver/My-garbage-code/tree/master/upload_class
ваше Г в спортзале или в регби унылым будет. пока графику вставлю, потом до остального дойду. так как в моём примере поймать True?
труе есть в адресе html, как его поймать? явно летит выше. появляется здесь header ("Location: ".$_SERVER['HTTP_REFERER'].'?complete=true');
блин, в регби проще, ломиться до победы, а тут.... кавычки, запятые...букву не так и пипец. кто может сказать, всё ли правильно в этой орфографии? <?php var_dump($_GET['res']); echo 'Загрузка успешна!'; ?> --- Добавлено --- и надо МIME еще проверить обязательно? --- Добавлено --- если уж php форум обновляется с новыми сообщениями не актуально...написал тут два ответа, а мне после второго показывает уведомление об ответе на предпервый...то наверно и php не такой и гладкий и ровный...получается блин...а форум БМВ на php написан? там как-то чётко всё.
встретили меня старожилы...ответили на пару вопросов не до конца, не поставил лайки, потому что не конкретно ответили. и всё...пусто, никто не отвечает более. старожилы!!! хотите лайк ответьте на простейший вопрос!!