Проблема загрузки файла с cakePHP - PullRequest
1 голос
/ 08 августа 2009

Я пытаюсь загрузить файл с помощью cakePHP. Это вид:

echo $form->create(null, array('action' => 'upload', 'type' => 'file'));
echo $form->file('img');
echo $form->submit('Enviar Imagem');
echo $form->end();

И это ошибка, которую я получаю:

Предупреждение (2): неверный аргумент для foreach ().

Редактировать: Отладка cakePHP говорит мне, что это строки кода, где возникает проблема:

foreach ($_FILES['data'] as $key => $data) {
    foreach ($data as $model => $fields) {
        foreach ($fields as $field => $value) {

А это стек вызовов:

Dispatcher::parseParams() - CORE/cake/dispatcher.php, line 314
Dispatcher::dispatch() - CORE/cake/dispatcher.php, line 118
[main] - APP/webroot/index.php, line 88

Моя функция загрузки сейчас пуста. Что происходит?

Ответы [ 3 ]

2 голосов
/ 08 августа 2009

Кажется, что Dispatcher ожидает, что имена моделей будут присутствовать при проверке загруженных данных. Я не знаю, есть ли для этого веская причина или это просто упущение. В любом случае, просто используйте выдуманное название модели, это не имеет значения. Он удовлетворит Диспетчер, создав ожидаемую структуру данных.

echo $form->create('File', array(
    'url'  => array('controller' => 'myController', 'action' => 'upload'),
    'type' => 'file'
));
0 голосов
/ 11 сентября 2009

/ приложение / просмотров / изображения / upload.ctp

echo $form->create('Image', array('action' => 'upload', 'type' => 'file'));
echo $form->file('img');
echo $form->submit('Enviar Imagem');
echo $form->end();

/ приложение / контроллеры / images_controller.php

function upload(){
  if(!empty($this->data)){
    pr($this->data);
  }
}

Вы найдете много интересного: -)

0 голосов
/ 21 августа 2009

При загрузке файлов торт с ядерным оружием $ _POST и помещает все в

$this->params['form'] 

массив. сделайте var_dump для $ this-> params в вашем представлении загрузки / контроллере, и оно должно быть там

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...