| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Загрузка jaixsom |
| Автор: Predator199 23.1.2013, 19:26 | ||||||
Вообщем:
Так, файл выбрали, нужно принять название и тд в php
И в итоге $_FILES['uploadimg']['tmp_name']) пуста, подскажите что не так. Как отправить данные выбранного файла jaixcom в php |
| Автор: skyboy 23.1.2013, 19:41 | ||
и что ожидается от этого кода? смотрел, что он возвращает? наобум писал? |
| Автор: Predator199 23.1.2013, 19:55 |
| Смотрел, но оставил лишь из-за того, что без него обновл страница. Не знаю почему. |
| Автор: mullih 23.1.2013, 20:00 |
| файлы через javascript аяксом не отправить, может что для html5 есть но вроде нету |
| Автор: Predator199 23.1.2013, 20:08 | ||||
| Мне нужно, выбираю файл, он загружается на сервер без обновл страницы. После добавляю к элементу загруженную картинку. Есть еще какие нибудь способы. Щас прописываю:
Получаю ответ. Прописываю так:
нет ответа. |
| Автор: Predator199 23.1.2013, 20:25 |
| Как тут реализовано? http://yaroslavl.yar.slando.ru/post-new-ad/ |
| Автор: Arantir 23.1.2013, 21:38 |
| Predator199, интересно, как вас угораздило забраться в дебри веб-разработки? Загрузки без перезагрузки пока еще не изобрели. Но изобрели такую вещь, как фреймы. А фреймы, как известно, могут загружаться параллельно друг другу. Все, что надо сделать, это скриптами заставить форму отправится не из основной страницы, а из фрейма. А для форм и ссылок целевой фрейм задается атрибутом target. |
| Автор: Predator199 23.1.2013, 21:41 |
| Вот к примеру. Я передаю путь через get в php. Далее можно загрузить как нибудь файл? Можно ли и js и php писать в файле с расширением php. И сделать загрузку файлов не обновл страницу? Без фреймов. |
| Автор: Arantir 23.1.2013, 21:54 |
| Predator199, вот и что ответишь после этого... Вы хотя бы попытки делали разобраться во всем этом? Или так, наугад код пишите? Нельзя! Нельзя уже ничего сделать сервером, зная тупо название (путь) файла на компьютере пользователя. Политика безопасности, ё-маё. Не лезьте вы сразу в аякс! Возьмите, сделайте на странице фрейм и отправьте из него файл. Для начала! А уже потом прицепите туда аякс. |
| Автор: Predator199 23.1.2013, 22:01 |
| Не люблю я эти фреймы. Страница кажется как на соплях... Без фремов, куда все надежней прекрепленно... Вы скажите, если перемешаю php с js. Можно ли загрузить файл. На мой взгляд можно, тут и jaix нет. Все в 1 скрипте, выполняется последовательно. Если можно так сделать, то буду писать, а так время убивать не охота, чтоб под конец зайти в тупик. И вновь к старту, к тому с чего начинал задумку. |
| Автор: skyboy 23.1.2013, 22:20 |
ajax, ajax толку-то? на сервере выполнится PHP часть. потом отдастся клиенту. клиент выполнит javascript часть. и всё. давали же ссылку http://phpfaq.ru/na_tanke. можно, конечно, упрямиться, но существующий механизм это не изменит. отправить данные на сервер можно только двумя способами: с перезагрузкой страницы/фрейма и XMLHttpRequest. Чтоб передавать вторым способом, при помощи http://www.w3.org/TR/FileAPI/, который еще http://caniuse.com/filereader и поддерживается, надо знать, почему выбираешь именно это. Чтоб использовать первый способ надо намного меньше усилий. Кроме того, странный аргумент. iframe никого никуда не сдвигает. сидит себе, блочный элемент… jQuery предлагает вообще радикальное решение: создается невидимый iframe, там создается форма, в форму клонируется input[type=file] с уже выбранным файлом, форма отправляется. всё. даже видимых элементов нет. кста, есть еще и третий вариант: использование flash или java плагина. но то не лучшая альтернатива |
| Автор: Arantir 23.1.2013, 22:21 |
| Повторяю еще раз: Загрузка файлов без перезагрузки страницы производится через фрейм. Объясняю: фрейм - это не "кривое страшное квадратное посреди страницы", фрейм - это такой тег! И куда вы его вставите и вообще ли он будет виден - это уже совсем другой вопрос. Его можно вообще создать через JS, так чтобы на самой странице его как бы и не существовало никогда. Отправляете форму с файлом во фрейм. Во фрейме вам все аккуратненько загружается на сервер самым обычным образом. При этом сама страница не перезагружается. Вам всего лишь нужно тем же JS получить ответ из фрейма и написать мол файл загружен. Вот и все. Добавлено через 54 секунды Мне уже страшно заглядывать в темы с автором Predator199 =) |
| Автор: Predator199 23.1.2013, 23:44 |
| Фрейм js-бред, не то. Сделаю через: <frame></frame> Можно брать избр через jaix, бд. Но мне щас не это интересно. На странице, которую буду выводить через frame. На ней буду размещать загруженные изображения к новоти. Размеры как проставлять? Нужно чтоб фрем растягивался в высоту, до той высоты скок выведено строчек изображений. Как сделать? display, поможет? |
| Автор: skyboy 24.1.2013, 00:27 |
| Автор: Predator199 24.1.2013, 13:12 | ||
| Да мне не в модальном окне нужно, как-реализовано на dle. Дак какой же будит выход, как заставить растягиваться в высоту.
Если с <frame> - сделать нельзя, тогда буду брать изображения с бд после загрузки и выводить. Ток зачем я это буду это делать, если можно растягивать фрем. Я этого не знаю, вот и спрашиваю. |
| Автор: Aliance 24.1.2013, 15:00 |
| Зачем растягивать фрейм? Фрейм должен быть невидимый, лишь для посылки на сервер файлов без перезагрузки окна с фреймсетом. |