Diferencia entre revisiones de «Usuario:ManuelRomero/Laravel/ficheros»
(Página creada con «{{MRM_Web| https://laravel.com/docs/8.x/filesystem }} ===Lo básico=== ;Configuración en filesystem.php ;Directorio dónde se almacenarán por defecto los ficheros '''''p...») |
(→Realizar acciones) |
||
Línea 17: | Línea 17: | ||
===Realizar acciones=== | ===Realizar acciones=== | ||
;Facade Storage | ;Facade Storage | ||
+ | *La Facades (https://laravel.com/docs/8.x/facades) Son una interfaz estática (no son clases estáticas!!!!) que proporciona laravel para poder utilizar las clases que están disponebles en el contenedor de servicios de la aplicación. | ||
+ | *Es una facilidad para usar clases directamente con un nombre. | ||
+ | |||
+ | |||
+ | https://laravel.com/api/8.x/Illuminate/Contracts/Filesystem/Filesystem.html | ||
+ | https://laravel.com/api/8.x/Illuminate/Filesystem/FilesystemManager.html | ||
+ | *Accedemos al fichero descargado a través del Request | ||
+ | <source lang=php> | ||
+ | public function descargar(Request $datos){ | ||
+ | //Copio el fichero indicado en storage | ||
+ | $file = $datos->file(); | ||
+ | dd($file); | ||
+ | </source> | ||
+ | Obteniendo la siguiente información | ||
+ | <source lang=json> | ||
+ | array:1 [▼ | ||
+ | "file_practica" => Illuminate\Http\UploadedFile {#330 ▼ | ||
+ | -test: false | ||
+ | -originalName: "dwes_in2wv-Realiza una agenda simple-91060 (1).zip" | ||
+ | -mimeType: "application/zip" | ||
+ | -error: 0 | ||
+ | #hashName: null | ||
+ | path: "/tmp" | ||
+ | filename: "phpsqd4G4" | ||
+ | basename: "phpsqd4G4" | ||
+ | pathname: "/tmp/phpsqd4G4" | ||
+ | extension: "" | ||
+ | realPath: "/tmp/phpsqd4G4" | ||
+ | aTime: 2022-01-12 11:12:18 | ||
+ | mTime: 2022-01-12 11:12:18 | ||
+ | cTime: 2022-01-12 11:12:18 | ||
+ | inode: 17957082 | ||
+ | size: 18535 | ||
+ | perms: 0100600 | ||
+ | owner: 1000 | ||
+ | group: 1000 | ||
+ | type: "file" | ||
+ | writable: true | ||
+ | readable: true | ||
+ | executable: false | ||
+ | file: true | ||
+ | dir: false | ||
+ | link: false | ||
+ | } | ||
+ | ] | ||
+ | </source> |
Revisión de 00:14 13 ene 2022
Lo básico
- Configuración en filesystem.php
- Directorio dónde se almacenarán por defecto los ficheros public/storage enlace a storage/app/public. Este enlace hay que generarlo
php artisan storage:link
Dónde se almacenarán los ficheros
- Se establece en disk' en el fichero de configuración
- Local disck
- Almacenamiento local en storage/app
- Public disk
- Almacenamiento local en storage/app/public con link en public/storage
Realizar acciones
- Facade Storage
- La Facades (https://laravel.com/docs/8.x/facades) Son una interfaz estática (no son clases estáticas!!!!) que proporciona laravel para poder utilizar las clases que están disponebles en el contenedor de servicios de la aplicación.
- Es una facilidad para usar clases directamente con un nombre.
https://laravel.com/api/8.x/Illuminate/Contracts/Filesystem/Filesystem.html https://laravel.com/api/8.x/Illuminate/Filesystem/FilesystemManager.html
- Accedemos al fichero descargado a través del Request
public function descargar(Request $datos){ //Copio el fichero indicado en storage $file = $datos->file(); dd($file);
Obteniendo la siguiente información
Idioma no válido.
Necesita especificar un idioma como esto: <source lang="html4strict">...</source>
lenguajes soportados para sintaxis remarcada:
4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic
array:1 [▼ "file_practica" => Illuminate\Http\UploadedFile {#330 ▼ -test: false -originalName: "dwes_in2wv-Realiza una agenda simple-91060 (1).zip" -mimeType: "application/zip" -error: 0 #hashName: null path: "/tmp" filename: "phpsqd4G4" basename: "phpsqd4G4" pathname: "/tmp/phpsqd4G4" extension: "" realPath: "/tmp/phpsqd4G4" aTime: 2022-01-12 11:12:18 mTime: 2022-01-12 11:12:18 cTime: 2022-01-12 11:12:18 inode: 17957082 size: 18535 perms: 0100600 owner: 1000 group: 1000 type: "file" writable: true readable: true executable: false file: true dir: false link: false } ]