2010-10-01 2 views
3

Okay,Реализация Uploadify с Zend Framework

Я прочитал и попробовал много вещей, о том, как реализовать Uploadify с Zend Framework, и я, вероятно, с видом на что-то, но я полностью застрял. Кажется, мое действие не называется.

Все выгрузки размещаются в одном каталоге внутри общей папки.

Кнопка загрузки вызывается в экземпляре fancybox и загружается из скрытого div на той же странице (admin/images/index) через встроенную концепцию Fancybox.

Все работы jquery отлично работают, загрузка прекращается, и каждый файл завершен. Но файлы не удаляются в папку. При тестировании с помощью скрипта uploadify.php все работает нормально.

В консоли нет ошибок.

Испытано на локальном хосте Испытано с Chrome 6.0.4 & Firefox 6.3.6 Испытано с Uploadify 2,1

Это мой JQuery код инициализации: (я использую загрузчик для использования JQuery скриптов)

Removed to keep post readable 

Я использовал различные вещи, чтобы вызвать файл, но ни один из них не работал:

Removed to keep post readable 

T его это код в моем администраторе/изображениях/загрузить

Removed to keep post readable 

Это код, используемый в моей начальной загрузке для задачи печенья:

Removed to keep post readable 

Кто-нибудь какой-нибудь ключ? Я полностью потерян ....

================================================================================================================================================================= EDIT ========================================

Проблема по-прежнему что я не могу достичь действия контроллера. Я изменил некоторые вещи для более легкого тестирования. Текущий код выглядит следующим образом: case 'jpg': $ validExtension = true; break; case 'jpeg': $ validExtension = true; break; case 'gif': $ validExtension = true; break; case 'png': $ validExtension = true; break; Я не понимаю, почему действие не называется ..

Другой редактировать:

Текущие скрипты:

случай 'JPG': $ validExtension = истина; break; case 'jpeg': $ validExtension = true; break; case 'gif': $ validExtension = true; break; case 'png': $ validExtension = true; break;

Создание возвращений загрузки ресурсов в ошибке HTTP с помощью uploadify.js

Я попробовал несколько сеансов решения, найденное на Uploadify форума и многого другого, но это не имеет никакого значения ...

Другой редактировать

я работал дальше, и добавление ресурса для загрузки

$ this-> acl-> добавить (новый Zend_Acl_Resource ('загрузка'));

дал мне выход html формы сценария, в котором вы не вошли/нет, указав на известную проблему с сеансом. Я попробую несколько решений и вернусь, если скрипты будут работать.

+0

Благодарим за редактирование! Полностью упустил это. –

+0

Вы пробовали это: [gondo a jeho svet · Zend Framework Uploadify Extension] (http://gondo.webdesigners.sk/zend-framework-uploadify-extension/) – takeshin

+0

@Takeshin: Я нашел это решение, но, к сожалению, оно не поддерживает несколько загрузок файлов, и это одна из причин использовать загрузчик flash/php вместо обычного загрузчика php. Но спасибо в любом случае :) –

ответ

3

Oke Я исправил все это. Я обнаружил, что загрузка должна быть добавлена ​​как ресурс. Проблема флэш-сессия была установлена ​​с плагином, который можно найти here

Примечание: Это проверено LOCALHOST только сейчас

Это как сценарии выглядят:

индекс.PHTML

<script type="text/javascript">// <![CDATA[ 
$(document).ready(function() { 
    $('#uploaderImages').uploadify({ 
     'uploader'  : '../../uploadify/uploadify.swf', 
     'script'  : '<?php echo $this->baseUrl().'/admin/images/upload'; ?>', 
     'cancelImg'  : '../../uploadify/cancel.png', 
     'scriptAccess' : 'always', 
     'queueID'  : 'fileQueue', 
     'folder'  : '../../uploads/images/original/', 
     'multi'   : true, 
     'auto'   : true, 
    }); 
}); 
// ]]></script> 

imageController:

public function uploadAction() 
    { 
     $tempFile = $_FILES['Filedata']['tmp_name']; 
     $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; 
     $targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; 
     move_uploaded_file($tempFile,$targetFile); 
    } 

И добавить ресурс в вашем ACL:

$this->acl->add(new Zend_Acl_Resource('upload')); 

Если я встречаю больше проблем, или если кто-то делает, пожалуйста, дайте мне теперь, и я уточню этот вопрос/ответ с необходимой дополнительной информацией.

Испытано в Firefox 3.6 & Chrome 6,0

Редактировать

выше решение работает на реальном сервере, но только на окнах. Во всех браузерах с mac данные не публикуются. Я нашел исправление, как написано здесь: http://slavi.biz/blog/using-uploadify-with-zend-framework-2009-08-30.html, чтобы нормально работать как на окнах, так и на mac.

0

Из того, что я обнаружил, у меня были некоторые подобные проблемы, потому что файлы swf и upload.php находились не в том же каталоге, и разрешения для каталога были отключены.

+0

Разрешения в порядке –

0

Я не вижу, где вы отключите визуализатор представлений. Возможно, это проблема.

Если у вас уже есть вид под названием upload или index (на основе вашего редактирования), у вас есть макет? Для uploadfy требуется только строка в качестве вывода.

Таким образом, вы должны добавить эти строки в действии:

$this->_helper->layout()->disableLayout(); 
$this->_helper->viewRenderer->setNoRender(true); 

Если это не работает, я sugest вам испытать на отделенной странице без рамок ZEND, так что вы можете точно знать, что происходит ,

Кроме того, доступ к странице с помощью браузера и сообщите нам, если он работает без erros (изображения/индекса или загрузки)

Наконец, я также sugest использовать поджигатель и анализировать запрос.

+0

Не работает, к сожалению, действие не вызывается для –

+0

@Rick Если вы попытаетесь получить доступ к этому URL-адресу, что происходит (изображения/индекс)? Сначала вам нужно проверить, есть ли на этой странице какие-либо ошибки. Во-вторых, он работает без zf? –

+0

У меня нет ошибок, что так всегда (php + jquery). Я могу заставить загружать работу без zf, используя файл uploadify.php. Когда я хочу использовать действие, я не могу вызвать вызванное действие, поэтому файлы не перемещаются. –

Смежные вопросы