yii и uploadify

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
hash
Сообщения: 45
Зарегистрирован: 2011.08.05, 17:20

yii и uploadify

Сообщение hash »

Есть пара вопросов, касательно взаимодействия uploaudify и yii.

1. Если скрипт-обработчик фалов лежит так webroot/js/uploadify.php, то файл загружается и обрабатывается нормально. А вот если указать контроллёр в качестве обработчика $this->createAbsoluteUrl('/file/upload'), то, файл не загружается, вылетает хттп-еррор, код 302. Как указать контроллёр в качестве обработчика загруженных файлов?

2. Аналогично, если папка для загружаемых файлов /tmp лежит в корне, то все файлы туда загружаются нормально, а если в /protected/tmp, то никаких ошибок при загрузке файла не вылетает, но сам файл не сохраняется в директории. Как решить эту проблему?


UPD1: с контроллёром разобрался, теперь файл обрабатывается
hash
Сообщения: 45
Зарегистрирован: 2011.08.05, 17:20

Re: yii и uploadify

Сообщение hash »

Появилась ещё проблема :D

Для сохранения файла использую готовый кусок кода из uploadify;

Код: Выделить всё

                if (!empty($_FILES))
                {                                                                
                        $tempFile = $_FILES['Filedata']['tmp_name'];
                        $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';                 
                        $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

                        // $fileTypes  = str_replace('*.','',$_REQUEST['fileext']);
                        // $fileTypes  = str_replace(';','|',$fileTypes);
                        // $typesArray = split('\|',$fileTypes);
                        // $fileParts  = pathinfo($_FILES['Filedata']['name']);
    
                        // if (in_array($fileParts['extension'],$typesArray)) {
                        // Uncomment the following line if you want to make the directory if it doesn't exist
                        // mkdir(str_replace('//','/',$targetPath), 0755, true);
                        
                        move_uploaded_file($tempFile,$targetFile);
                        echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
                        // } else {
                        //     echo 'Invalid file type.';
                        // }
                }  
если в этом куске кода не будет ни одного эха, то файл на сервер загружается, но на странице пользователя видимых изменений не происходит. Индикатор загрузки uploadify стоит на месте, т. е. кажется что файл не загружается. (проверял в разных браузерах), хотя на самом деле загружается. Если в контроллёре делаю любое эхо (кроме пустого), то индикатор загрузки работает нормально. В чём тут дело, объясните пожалуйста!)

Да, и на php версии 5.3.8 под windows при сохранении файла теряется первая буква его имени, на 5.2.17 начего не теряется.
taral14
Сообщения: 236
Зарегистрирован: 2011.02.26, 23:48

Re: yii и uploadify

Сообщение taral14 »

Для не авторизированных юзеров закрыт доступ? Если так то проблема ясна
hash
Сообщения: 45
Зарегистрирован: 2011.08.05, 17:20

Re: yii и uploadify

Сообщение hash »

К сожалению, это не так. экшен загрузки добавлен для всех юзеров.

Файлы в /protected/tmp всё ещё не сохраняются, и странности с эхом всё ещё не пропали
Johnatan
Сообщения: 167
Зарегистрирован: 2010.10.27, 13:06
Откуда: Reino de España

Re: yii и uploadify

Сообщение Johnatan »

Я раньше пользовался uploadify. Проблем было столько, что надоело патчить и пошёл искать другой аплоадер. Нашёл великолепный аплоадер на ajax:
http://www.yiiframework.com/extension/eajaxupload/
Конференция: yii@conference.jabber.ru
taral14
Сообщения: 236
Зарегистрирован: 2011.02.26, 23:48

Re: yii и uploadify

Сообщение taral14 »

Я раньше пользовался uploadify. Проблем было столько, что надоело патчить и пошёл искать другой аплоадер. Нашёл великолепный аплоадер на ajax:
Я использую uploadify и никаких проблем нету. Правда я использую последнюю версию и виджет для yii написал свой
Johnatan
Сообщения: 167
Зарегистрирован: 2010.10.27, 13:06
Откуда: Reino de España

Re: yii и uploadify

Сообщение Johnatan »

taral14 писал(а):
Я раньше пользовался uploadify. Проблем было столько, что надоело патчить и пошёл искать другой аплоадер. Нашёл великолепный аплоадер на ajax:
Я использую uploadify и никаких проблем нету. Правда я использую последнюю версию и виджет для yii написал свой
Сессию через GET передаёте?
Конференция: yii@conference.jabber.ru
SpiLLeR
Сообщения: 350
Зарегистрирован: 2009.09.17, 16:47
Откуда: Санкт-Петербург
Контактная информация:

Re: yii и uploadify

Сообщение SpiLLeR »

C uploadify тоже намучился в свое время, да и сейчас мучаюсь... EAjaxUpload чем-то не понравился, уже не помню чем. Пока смотрю в сторону JQuery File Upload.
Предупрежден - значит вооружен.
devKP.ru
Аватара пользователя
RusAlex
Сообщения: 324
Зарегистрирован: 2010.08.29, 15:30

Re: yii и uploadify

Сообщение RusAlex »

написал свою загрузку файлов "через аякс". ни один из готовых не делал то что надо
taral14
Сообщения: 236
Зарегистрирован: 2011.02.26, 23:48

Re: yii и uploadify

Сообщение taral14 »

Сессию через GET передаёте?
Нет. Через пост. Через параметр uploadify postData
А в нужном контроллере в методе init

Код: Выделить всё

        if(isset($_POST['PHPSESSID'])) {
            Yii::app()->session->close();
            Yii::app()->session->sessionID = $_POST['PHPSESSID'];
            Yii::app()->session->init();
        }
 
taral14
Сообщения: 236
Зарегистрирован: 2011.02.26, 23:48

Re: yii и uploadify

Сообщение taral14 »

написал свою загрузку файлов "через аякс". ни один из готовых не делал то что надо
У такой загрузки есть 2 недостатка
1. Нету полосы загрузки
2. Нету мультизаргузки
SpiLLeR
Сообщения: 350
Зарегистрирован: 2009.09.17, 16:47
Откуда: Санкт-Петербург
Контактная информация:

Re: yii и uploadify

Сообщение SpiLLeR »

Предупрежден - значит вооружен.
devKP.ru
taral14
Сообщения: 236
Зарегистрирован: 2011.02.26, 23:48

Re: yii и uploadify

Сообщение taral14 »

Как нету?
Или я отстал от жизни или что-то тут не так. Как js может узнавать процент загруженности файла? Да еще и мультиселект выбора файлов поле выдавать. Если браузер поддерживает только для 1 файла а все остальные варианты через флеш реализовывались
Dismal
Сообщения: 247
Зарегистрирован: 2011.10.16, 13:25

Re: yii и uploadify

Сообщение Dismal »

taral14 писал(а):Или я отстал от жизни или что-то тут не так. Как js может узнавать процент загруженности файла? Да еще и мультиселект выбора файлов поле выдавать. Если браузер поддерживает только для 1 файла а все остальные варианты через флеш реализовывались
Отстали :) XMLHttpRequest2
taral14
Сообщения: 236
Зарегистрирован: 2011.02.26, 23:48

Re: yii и uploadify

Сообщение taral14 »

Отстали XMLHttpRequest2
Ну что тут сказать. Удивительно просто. Отличная штука. Буду отказываться от uploadify постепенно. Кстати експлорер с какой версии поддерживает?
Dismal
Сообщения: 247
Зарегистрирован: 2011.10.16, 13:25

Re: yii и uploadify

Сообщение Dismal »

taral14 писал(а):Кстати експлорер с какой версии поддерживает?
http://caniuse.com/xhr2
buzzman
Сообщения: 4
Зарегистрирован: 2011.05.31, 11:25

Re: yii и uploadify

Сообщение buzzman »

SpiLLeR писал(а):http://valums.com/ajax-upload/
Понимаю, что к статье давно не было комментариев, но никак не могу найти ответ на свой вопрос:
- подскажите, как в вышеупомянутом аплоадере указать список валидных для загрузки файлов сразу в окне выбора, а не после него. Т.е. если я даю возможность загрузки txt, то в окне выбора файлов пользователь должен видеть только *.txt и папки.

Спасибо за помощь.
Ответить