2010-06-30 14 views
10

Puede cualquiera que me la mejor manera de escribir código para cargar un archivo en CakePHP sugerir?La mejor práctica para subir archivos en CakePHP

  • Necesito cargar un archivo y guardar su nombre en la tabla.
  • Si falla el almacenamiento del registro, no debería cargar el archivo.
  • Si la carga falla, entonces el registro debe revertirse.
  • El código debe ser reutilizable
  • necesito para cargar el archivo en afterSave devolución de llamada
+2

su información, cuando se procesa en PHP, la carga de archivos ya se ha terminado, el archivo está en un directorio temporal. Solo tiene que modelar este archivo en una ubicación final e insertar la fila correspondiente en el DB. (Y manejar los posibles fallos.) – sibidiba

Respuesta

16

Edición (2015): Por favor ver la lista de plugins Awesome CakePHP archivo actual (rama 2.x here)


Edición (2013): Esta respuesta es ahora un poco anticuado, por lo Sólo voy a dejar una lista de todos los plugins de carga mencionados:


Respuesta original (desde 2010):

Se podría considerar el uso de la Media plugin que se habló en el último CakeFest. Es bastante completo y contiene características tales como la creación de variaciones de archivos (es decir, miniaturas de imágenes o videos), ayudantes para generar diferentes tipos de archivos y elementos para ayudarlo a crear formularios de carga de archivos múltiples más rápidamente; y también tenía un fuerte enfoque en la seguridad desde el principio, como puedo deducir de the slides. Lo uso en producción y encuentro que funciona bien, además de que parece estar bajo más active development que otras opciones que he visto, si eso es cualquier cosa (por ejemplo, MeioUpload behavior, Uploader plugin, FileUpload plugin y varias publicaciones de Bakery/blog sobre el tema).

+1

Permítanme añadir descaradamente [Subir Pack] (https://github.com/szajbus/uploadpack) a la lista –

+1

[subida] (http://github.com/milesj/cake-uploader/commits/master) y [Upload Pack] (https: // github.com/szajbus/uploadpack) son las 2 mejores librerías soportadas de CakePHP 2.x que he encontrado después de medio día de investigación e intentos de implementación. – Anthony

+2

[Upload Plugin 2.0] (https://github.com/josegonzalez/upload) por Jose Diaz-Gonzalez parece ser una buena opción ahora. –

Cuestiones relacionadas