Как начать с meioupload для торта php - PullRequest
0 голосов
/ 19 марта 2012

Я новичок в торт php и пытался использовать meioupload для загрузки файла.,

искал полные шаги., Но я не уверен, прочитал ли я полные документы ..

вот я здесь, я расскажу о том, что я сделал.

по этой ссылке http://www.meiocodigo.com/projects/meioupload/

я создал таблицу с именем "products"

CREATE TABLE products ( id int (8) без знака NOT NULL auto_increment, name varchar (255) по умолчанию NULL, description текст по умолчанию NULL, price двойное значение по умолчанию NULL, picture varchar (255) по умолчанию NULL, dir varchar (255) по умолчанию NULL, mimetype varchar (255) NULL, filesize int (11) без знака по умолчанию NULL, created дата и время по умолчанию NULL, modified дата и время по умолчанию NULL, ПЕРВИЧНЫЙ КЛЮЧ (id))

А потом после добавления переменной "$ actAs" в моей модели, это выглядит как

`

Класс продукта расширяет AppModel {

public $name="Product";

var $actsAs = array(
    'MeioUpload' => array(
        'picture' => array(
            'dir' => 'uploads',
            'create_directory' => true,
            'max_size'=>'10 Mb',
            'allowed_mime' => array('image/jpeg', 'image/pjpeg', 'image/png'),
            'allowed_ext' => array('.jpg', '.jpeg', '.png'),
            'thumbsizes' => array(
                'normal' => array('width'=>200, 'height'=>200),
            ),
            'default' => 'default.jpg',
        )
    )
);

} `

И загруженный файл MeioUploadBehavior.php внутри Model-> Behaviour-> MeioUploadBehavior.php из https://github.com/jrbasso/MeioUpload/blob/master/Model/Behavior/MeioUploadBehavior.php

Мой контроллер выглядит как

Class productscontroller extends AppController{

public $name="Products";

public function beforeFilter(){

    $this->layout="admin";
}
public function admin_upload(){

}

}

И мой файл просмотра из view-> products-> admin_upload.ctp

<?php
echo $this->Form->create('Product', array('type' => 'file'));
echo $this->Form->input('picture', array('type' => 'file'));
echo $this->Form->input('dir', array('type' => 'hidden'));
echo $this->Form->input('mimetype', array('type' => 'hidden'));
echo $this->Form->input('filesize', array('type' => 'hidden'));
echo $this->Form->end('Submit');

?>

когда я запускаю localhost / test / cake / admin / products / upload

я вижу форму с кнопкой filefield и кнопкой submit.,

и когда я выбираю изображение и отправляю., Форма успешно отправляется, и внутри webroot-> uploads -> "thumb" создается только пустая папка. Изображения не перемещаются в загружаемые файлы, а также в папку большого пальца.,

А также есть данные, вставленные в таблицу.

Нужно ли сохранять данные вручную в моем действии!?

Пожалуйста, помогите.

Большое спасибо.

1 Ответ

0 голосов
/ 19 марта 2012

Да, похоже, действие вашего контроллера пустое.Попробуйте сохранить данные, отправленные из формы, с помощью метода save().Это заставит MeioUpload сохранить файл, который был загружен с формой.

Также похоже, что вы используете CakePHP 2.x, я предлагаю вам квалифицировать плагин как 'MeioUpload.MeioUpload' в свойстве $actsAsвашей модели.Убедитесь, что у вас есть права на запись и выполнение для папки uploads в вашем webroot.

Источник: я создаю свой собственный сайт с помощью плагина MeioUpload.

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