Даже так, то что у вас творится на странице по ссылке вы считаете нормальным рабочим процессом?
Зачем предлагаю? Может я и не прав, но вы не понимаете много, либо пытаетесь решать все методом научного тыка. Вот простой пример, я пишу примером как отправить файл ajax: var data = new FormData(); data.append(argument_1, argument_2); вы повторяете это так: data.append(argument_1, argument_2, argument_3); Да, метод .append() может принимать три аргумента. Но если вы так пишите в коде своем, значит вы даже не представляете чем это чревато. Ваш код не есть нечто бесценное, drag&drop не работает, выбрать традиционно тоже нельзя, то есть поведение страницы при попытке загрузить файл поставит в ступор любого вашего пользователя. И к этому прикручивать? Поэтому и предлагаю - возьмите готовое, и всего-то потребуется прочесть как подключить. Все. А навести красоту вам нужную, так это как хотите. PS. я разобраться в этом хочу. Хорошо, но надо разбираться, а не тыкать бездумно, и начать с простого - отправить файл традиционно выбрав его в диалоге. Как это сделать примеры были. Далее сделать предпросмотр выбранного для загрузки, что можно сделать посредством FileReader, и таковое в вашем коде есть. Разобрались, поняли как работает, то есть не будет возникать вопросов как это можно "прикрутить" к любой ситуации. А потом таинство перетаскивания, а я давал ссылку, где можно об этом все расжованное прочесть, читайте. |
Хорошо убедили я снес тот неудачный плагин, но если коснуться принципа вот я выбрал ваш пример яваскриптовский
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script> document.addEventListener("DOMContentLoaded", function() { document.querySelector('#file-select').addEventListener('change', function() { var xhr = new XMLHttpRequest(), data = new FormData(); data.append(this.name, this.files[0]); xhr.open('POST', '/server/ajax_php_file.php'); xhr.onload = function() { if (xhr.status == 200) { alert(xhr.responseText) } } xhr.send(data) }) }); </script> </head> <body> <input id="file-select" type="file" name="file"/> </body> </html> У меня в ответе на var_dump($_FILES); Array(0) |
Под каким браузером проверяется?
|
Mozila
|
Если ваша лиса не времен начала создания вселенной, то к нему претензий нет. Открывайте отладчик и проверяйте сеть - POST запрос будет содержать типа такого:
-----------------------------133552468125984 Content-Disposition: form-data; name="file"; filename="С1-65.jpg" Content-Type: image/jpeg ÿØÿá´àExif��MM�*������������������ª����� и т.д. Соответственно сервер вернет информацию о загрузке. Если клиент отдает, а сервер не принимает, значит причину нужно искать на сервере: а) ошибки в коде; б) настройки сервера. Обучение и отладку нужно производить не на удаленном сервере, а на локальном. На удаленный сервер выставляются уже готовые и отлаженные скрипты. |
laimas,
Скажите неужели может быть отключен массив файл на сервере и как включить, ПОСТ в лисе есть |
$_FILES - это, и никоим образом ее нельзя отключить.
Загрузкой файлов на сервер управляют соответствующие установки php.ini. Коли вы говорили, что читали о загрузке файлов на сервер, то должны знать это, ибо там рассказывается о директивах, которые влияют на загрузку файлов. Скачивайте с официального сайта руководство в формате СНМ, с примерами, и изучайте, это самый короткий, но самый лучший учебник по языку, бестселлер на ночь. |
Часовой пояс GMT +3, время: 17:57. |