Buscar..


Parámetros

Parámetro / Función Descripción
Subir archivo nombre del archivo <input> campo
$ sampleName También podría ser una cadena generada dinámicamente o el nombre del archivo cargado por el usuario
app_path () Laravel es el ayudante para proporcionar la ruta absoluta a la aplicación.
getCLientOriginalExtension () Laravel wrapper para recuperar la extensión del archivo cargado por el usuario tal como estaba en la máquina del usuario

Generación de nombres de archivo con marca de tiempo para los archivos cargados por los usuarios.

A continuación no funcionará en una máquina con Windows

$file = $request->file('file_upload');
$sampleName = 'UserUpload';
$destination = app_path() . '/myStorage/';
$fileName = $sampleName . '-' . date('Y-m-d-H:i:s') . '.' . 
$file->getClientOriginalExtension();
$file->move($destination, $fileName);  

Se lanzará un error como "No se pudo mover el archivo a / ruta ..."

¿Por qué? - Esto funciona perfectamente en un servidor Ubuntu.
La razón es que en el colon ':' Windows colon ':' no está permitido en un nombre de archivo como está permitido en Linux. Esto es algo tan pequeño que no lo notamos por adelantado y nos preguntamos por qué un código que funciona bien en Ubuntu (Linux) no funciona.
Nuestro primer presentimiento sería revisar los permisos de los archivos y cosas así, pero es posible que no notemos que los colon ':' son el culpable aquí.
Entonces, para cargar archivos en Windows, no use los colon':' mientras genera nombres de archivos con marca de tiempo , en lugar de hacer algo como a continuación:

$filename = $sampleName . '-' . date('Y-m-d-H_i_s') . '.' . $file->getClientOriginalExtension();  //ex output UserUpload-2016-02-18-11_25_43.xlsx
            
                                   OR

$filename = $sampleName . '-' .date('Y-m-d H i s') . '.' . $file->getClientOriginalExtension();  //ex output UserUpload-2016-02-18 11 25 43.xlsx

                                   OR

$filename = $sampleName . '-'.date('Y-m-d_g-i-A').'.' . $file->getClientOriginalExtension(); //ex output UserUpload-2016-02-18_11-25-AM.xlsx


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow