getXmlHttp

Печать RSS
563

М
Автор
Пришелец
0
6680 (17 Октября 2012 / 11:58)
Ну я вот вообще использую Ajax upload с промежуточной страницей загрузки, типа:
-выбираешь кучу нужных файлов;
-нажимаешь загрузить;
-все выбранные файлы загружаются в папку на сервере (временную папку, которую ты укажешь);
-как все загрузиться, автоматически, блок с кнопкой загрузить заменяется блоком где выводиться содержимое папки;
-к каждому файлу добавляются формы (имя, описание, кнопка загрузить);
-после ввода инфы к одному из файлов и нажатия на кнопку "сохранить", файл загружается в постоянную папку а имя, описание и путь к файлу в БД.
- блок с этим файлом исчезает, заполняешь следующий и так далее.
можно по подобней ато чтото не получается
М
Автор
Пришелец
0
поднимаю тему
А

Оранжевые штаны
0
М
Автор
Пришелец
0
код не работает, помогите плиз
<?php
//include"../sys/fnc.php";

class AsyncUploader extends Controller { 
    function AsyncUploader() { 
        parent::Controller(); 
        $this->load->helper('url'); 
        $this->load->helper('form'); 
    } 
    function index() { 
        $pageData['title'] = "Асинхронная загрузка файлов"; 
        $this->load->view('main', $pageData); 
    } 
    function do_upload() { 
        $config['upload_path'] = '/upl/'; 
    $config['allowed_types'] = 'mp3'; 
    $config['max_size'] = '5242880'; 
  
    $this->load->library('upload', $config); 
  
    if ( ! $this->upload->do_upload()) 
    { 
        $mes = array('error' => $this->upload->display_errors()); 
    } 
    else
    { 
        $mes = $this->upload->data(); 
    } 
    //создаем js массив 
    $res = "<script type=\"text/javascript\">"; 
    $res .= "var data = new Object;"; 
    foreach ($mes as $key => $item) { 
        $res .= "data.".$key." = \"".$item."\";"; 
    } 
    $res .= "window.parent.handleResponse(data);"; 
    $res .= "</script>"; 
    echo $res; 
    } 
}

?>
М
Автор
Пришелец
0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru"> 
<head> 
<title><?php echo $title; ?></title> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
<script type="text/javascript">
function hideBtn() { 
    document.getElementById("sendBtn").innerHTML = "Подождите, идет загрузка..."; 
} 
  
function handleResponse(mes) { 
    var resElement = document.getElementById("res"); 
    document.getElementById("sendBtn").innerHTML = 
        "<input type=\"submit\" value=\"Загрузить\" />"; 
    if (mes.error != null) { 
        resElement.innerHTML = "Возникли ошибки во время загрузки файла: " + mes.error; 
    } 
    else { 
        resElement.innerHTML = "Файл " + mes.file_name + " загружен"; 
    } 
}
</script> 
</head> 
<body> 

<h3>NonStop</h3>
<p><div id="down_err"></div></p>

<?php 
$attr = array('target' => 'hiddenframe', 'onsubmit' => 'hideBtn()'); 
echo form_open_multipart('asyncuploader/do_upload', $attr); 
?> 
<p> 
<input type="file" id="userfile" name="userfile" /> 
</p> 
<div id="sendBtn"> 
<input type="submit" value="Загрузить" /> 
</div> 
<?php 
echo form_close(); 
?> 
<div id="res"></div> 
<iframe id="hiddenframe" name="hiddenframe" style="width:0px; height:0px; border:0px"></iframe> 


<p><div id="download"></div></p>
</body> 
</html>

Голубые штаны
0
10. 6680, вот ты такой финдиперцевый, а я вот даже не знаю что сказать..... А вот моя библиотека срабатывает на заголовок "Enum". И на "Oolo". А вот на этот заголовок я не всегда могу заставить ее работать. Почитай побольше, поймешь, почему. И чем больше ты прочтешь и расскажешь мне, тем больше я тебя буду уважать..

Почитай в википедии про этот заголовок, как минимум - про тонкости и нюансы...., а как максимум - прочти тонны литературы. Ты будешь удивлен.....

И не надо тут красным выделять! Ты тут далеко не самый умный........
Изменил: Дмитрий (18.10.2012 / 19:53)
М
Автор
Пришелец
0
а мне то кто нибудь может совет дать по коду?

Добавлено через 01:58 сек.
может мне просто сделать форму с фреймом, и из формы передовать данные во фрейм?
М
Автор
Пришелец
0
чтото типа так
<form action="upload.php" method="post" TARGET="upload">
<input type="file" name="file">
<input type="submit" value="загрузить">
</form>
<iframe name="upload" style="width:0px; height:0px; border:0px"></iframe> 
как вы думаете?
М
Автор
Пришелец
0
<?php
include"../sys/fnc.php";
?>

<h3>NonStop</h3>
<p><div id="down_err"></div></p>

<form action="../fnc/upload.php" method="post" TARGET="upload" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="загрузить">
</form>
<iframe name="upload" style="width:0px; height:0px; border:0px"></iframe> 

<p><div id="download"></div></p>
так даже фрейм молчитsad
F

Землянин
0
16. dima.london, Вообще не понял к чему это было сказано, и я не считаю себя сильно умным и все такое я только изучаю все это, и я рассказал свой вариант аякс загрузки файлов. потому что у самого были похожие проблемы, на прозьбу подробней у меня покашто просто небыло возможности ответить, да и из моего кода сложно вытащить именно то что нужно так как почер пока что плохой. кривовато все. Выделяю цветами для лучшей читаемости. и понимания. выделяю главные моменты и так далее. Думаю не чего плохого в том что я стараюсь красиво оформить пост для его лучшего понимания нет, а если ваши вкусы не совпадают с моими, ну извините, не думал что тут необходимо подстраиваться под чей то вкус. и если вам так не нравиться когда текст как то по особому выделяют, так может быть сделать ограничения для таких простых и мало знающих как я. (Извините что натискиваю свое мнение, просто не сдержался.)

Добавлено через 06:15 сек.
19. Mishutka, Могу если хочешь попробовать свой загрузчик вырвать из самого проекта, за архивировать и дать ссылку на него, или отправить на почту, мб разберешься в моем коде, что к чему там.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск