Intereting Posts
Каковы правильные кодировки / экранирование / htmlentities, необходимые при отправке данных из js в php, php в mysql и для ответов REST json Ошибка округления PHP php условный оператор: не равен оператору Content-type, не работающий в PHP Ошибки анализа / синтаксиса PHP; и как их решить? Шифровать данные с помощью открытого ключа в c # и расшифровать данные с помощью закрытого ключа в php Laravel 4: как «заказывать», используя Eloquent ORM Восстановление определенной строки из базы данных в yii CakeEmail в cakephp 2 может отправлять электронную почту одному и тому же smtp, но не swiftmailer в laravel preg_replace удалить специальные символы импортировать файл csv с внешнего FTP-сайта Алгоритм вычисления ряда будущих дат на основе частоты Как отображать только одну страну или конкретную область в картах Google с помощью api? вызов метода php из java Учитывая время, как я могу найти время месяц назад

Лучшая практика загрузки файлов в CakePHP

Может ли кто-нибудь предложить мне лучший способ написать код для загрузки файла в CakePHP?

  • Мне нужно загрузить файл и сохранить его имя в таблице.
  • Если сохранение записи не удастся, она не должна загружать файл.
  • Если загрузка не удалась, запись должна быть отменена.
  • Код должен быть повторно использован
  • Мне нужно загрузить файл в afterSave

Изменить (2015): см. Список Awesome CakePHP для текущих файловых плагинов (см. Раздел 2.x)


Изменить (2013): этот ответ немного устарел, поэтому я просто оставлю список всех упомянутых модулей загрузки:

  • Хосе Гонсалес / загрузить
  • milesj / Загрузчик
  • szajbus / uploadpack
  • webtechnick / CakePHP-FileUpload-Plugin (2.0-ветка)
  • bmcclure / CakePHP-Media-Plugin (2.0-ветка)
  • davidpersson / media (только 1.3.x)
  • jrbasso / MeioUpload (устаревший)

Оригинальный ответ (с 2010 года):

Возможно, вы захотите использовать плагин Media , о котором говорили на последнем CakeFest. Он довольно всеобъемлющий, содержащий такие функции, как создание изменений файла (то есть миниатюр изображений или видео), помощников для вывода различных типов файлов и элементов, которые помогают создавать формы загрузки нескольких файлов быстрее; а также с самого начала уделял большое внимание безопасности, поскольку я могу собираться со слайдов . Я использую его в производстве и считаю, что он работает хорошо, плюс он, кажется, находится в более активном развитии, чем другие варианты, которые я видел, если это что-то (например, поведение MeioUpload , плагин Uploader, плагин FileUpload и различные записи в Bakery / blog на тема).

Взгляните на раздел « Файлы » в Поваренной книге .

Я нашел этот https://github.com/srs81/CakePHP-AjaxMultiUpload плагин полезным для моего случая.