Фоновая загузка, неувязочка с Ajax $_FILES

Статус
В этой теме нельзя размещать новые ответы.

nemo

Новичок
Фоновая загузка, неувязочка с Ajax $_FILES

Я пытаюсь зделать фоновую загрузку код выглядит примерно так


Html отрывок

<input id="ajax_load" type="file"/><button type="button" onClick="Pusk()">Загрузить</button><a href="javascript:">(!)<span>Загрузить обязательно</span></a><p>Загрузите обложку</p><a class="add_lesson_answer" href="javascript:">(?)<span>150x150 Px | Gif, Png, Jpeg</span></a>
<textarea style="width:500px;height:100px" name="wrapper" id="ajax_final_load"></textarea>


javascript ajax

var get_ajax=Create();
function id(id)
{return document.getElementById(id);}
function Create(){
if(navigator.appName=="Microsoft Internet Explorer"){
get_ajax=new ActiveXObject("Microsoft.XMLHTTP");
}else{
get_ajax=new XMLHttpRequest();}
return get_ajax;}
function Request(query)
{get_ajax.open('post','http://youexpert.ru/modules/lessons/form/load_wrapper.php',true);
get_ajax.onreadystatechange=Refresh;
get_ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
get_ajax.send(query);}
function Refresh()
{if(get_ajax.readyState==4)
id('ajax_final_load').innerHTML=get_ajax.responseText;
}
function Pusk()
{var query;
query='upload_wrapper='+encodeURIComponent(id('ajax_load').value);
Request(query);}

Php на сервере
if(isset($_POST['upload_wrapper'])){
mkdir("http://youexpert.ru/modules/lessons/loads/test",0700);}
if(move_uploaded_file($_FILES['upload_wrapper']['tmp_name'],'http://youexpert.ru/modules/lessons/loads/test'.$_FILES['upload_wrapper']['name']))

-~{}~ 23.11.09 16:56:

прошу всех читющих в том числе модераторов
быть адвекватными
 

dimagolov

Новичок
nemo, файлы можно загрузить ТОЛЬКО формой по submit, то есть без перезагрузки страницы ТОЛЬКО через iframe. ВСЕ ajax-либы именно это и делают при необходимости загружать файлы.
 

Adelf

Administrator
Команда форума
прошу всех читющих в том числе модераторов
быть адвекватными
Сам будь поадекватнее...

Я не вижу ни одного вопроса во всем твоем тексте.
 

nemo

Новичок
dimagolov

но я пробывал через iframe делать.. это нереально
мне же надо создоть форму добавление материалов
например как ты можешь совместить IFRAME который не как неконектится с формой на той странице которую нужно будет заполнить и другие данные..
так поповуду ajax.. так че серьезно не как там нельзя?............................
это уже обсуждалось..
роде гвоорил на jquery можно...
а почему на ajax нельзя??
 

Adelf

Administrator
Команда форума
nemo
Ну обьяснили же тебе в той теме. И тут dimagolov повторяет. Есть два способа чистыми HTML+JS сделать загрузку файлов на сервер. Они указаны выше. Все готовые AJAX-либы юзают iframe-подход. Я тебе там же говорил - не напишешь ты свое в ближайшие месяцы.
 

dimagolov

Новичок
мне же надо создоть форму добавление материалов
например как ты можешь совместить IFRAME который не как неконектится с формой на той странице которую нужно будет заполнить и другие данные..
iframe и file input делаются под размер кнопки "Attach" и прозрачными на 99% и помещаются над кнопкой. то есть юзер будет кликать по нужному input-у, а сам думать, что кликает по кнопке "Attach".
 

nemo

Новичок
Adelf
я уже написал скрипт
который отпровляет и принимает сообщение так разница между загрузкой почти нет AJAX подбирает результат из переменной а все остальное делает сервер
я уже достаточно писал и пишу скрптов поэтому ненеадо говорить что ненапишу.

а что попвуду ЖЫ квэ ри он с плагином весит 100 кб а мой скрипт который ты видишь 1 кб и они одинаково работают - я тестировал их полностью ну некакой разницы.

и
Ajax- "либы" что это?

-~{}~ 23.11.09 17:19:

dimagolov
я непонял а что за "Attach"?
 

dimagolov

Новичок
nemo, концептуальная разница между файлами и всем остальным, что file input невозможно изменять, получать что-то кроме имени файла средствами JS, только юзер может кликнуть и выбрать загружаемый файл.

JS_Frameworks = [ 'mootools', 'JQuery', 'prototype.js' ];
есть еще JsHttpRequest чисто для запросов.

-~{}~ 23.11.09 10:24:

"Attach" это визуальный элемент кликнув на который юзер прицепит очередной файл (или начнет его загрузку). на твой вкус
 

nemo

Новичок
только юзер может кликнуть и выбрать загружаемый файл.
1. юзер указал путь
2. ajax скидывает этот путь в скрипт котрый сохраняет на сервер
3 затем тамже скрипт достает ссылку сервера и перекидывает обратно в форму

Какие здесь могут быть ограничения?


окей я попробую через iframe
пожалуйсто можешь test код написать с тем примером что ты мне объяснял? пожалуйсто
 

dimagolov

Новичок
п.2 реализовать нельзя.
Загрузить на сервер можно только файл и только отправкой формы, которой принадлежит file-input, на который юзер физически кликнул и который физически выбрал.
 

nemo

Новичок
теперь понятно, спасибо dimagolov поповуду iframe я слабо уловил то что нужно сейчас сделать можешь привести example?
 

dimagolov

Новичок
посмотри как сделано в mail.yahoo.com (YUI), именно там я и подсмотрел этот фокус.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху