Curs Php-mysql

Fisierele trimise pentru upload pot fi preluate cu metoda file() sau folosind proprietati dinamice ($request->field_name).
$file = $request->file('photo');
//Or:
$file = $request->photo;

Verfiare daca e fisier pentru upload

Puteti verifica daca un fisier este trimis spre incarcare folosind metoda hasFile().
In afara de a verifica daca fisierul este prezent, puteti sa verificati daca fisierul a fost trimis cu succes, folosind metoda isValid()
if($request->hasFile('photo') && $request->file('photo')->isValid('photo')){
  //
}

Instanta clasa UploadedFile

Metoda file() returneaza o instanta a clasei Illuminate\Http\UploadedFile (care extinde clasa PHP SplFileInfo) si furnizeaza o varietate de metode pentru a inspecta si interactiona cu fisierul.
Pentru mai multe informatii despre aceste metode, vedeti: Metode clasa UploadedFile

- Exemplu, script Laravel simplu pentru incarcare imagini, cu setari pentru marimea maxima permisa a fisierului si validarea extensiei.

1. Creati un director "uploads" in directorul "public/".
2. Adaugati urmatorul cod intr-un fisier "UploadController.php" (in directorul app/Http/Controllers/):
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class UploadController extends Controller {
  protected $exts =['bmp', 'gif', 'jpe', 'jpeg', 'jpg', 'png']; //allowed file exttensions
  protected $max_size =0.5; //allowed maximum file size in MB
  protected $dir ='uploads'; //folder for uploaded files (in public/ directory)
  protected $err =[]; //store errors

  //Responds to post requests to /upload/photo
  //receives the $request instance
  //return string
  public function uploadPhoto(Request $request){
    //if file is sent
    if($request->hasFile('photo')){
      $file = $request->file('photo');

      //if file successfully received
      if($file->isValid()){
        //validate the file
        $ext = $file->guessExtension();
        $size = $file->getClientSize();
        if(!in_array($ext, $this->exts)) $this->err[] ='File extension: '. $ext .'<br>Allowed file exttensions: '. implode(', ', $this->exts);
        if($size >$this->max_size*1024*1024) $this->err[] ='File extension: '. $size .'<br>Allowed maximum file size: '. $this->max_size .' MB';

        //if no error, move the file
        if(count($this->err)==0){
          $fname = $file->getClientOriginalName();
          $fmoved = $file->move(base_path() .'/public/'. $this->dir, $fname);

          //if successfully moved in uploads directory
          if($fmoved){
            return 'File successfully uploaded:<br>'. $this->dir .'/'. $fname .'<br><img src="/'. $this->dir .'/'. $fname .'" alt="Photo" />';
          }
          else $this->err[] ='Unable to move the file to: '. $this->dir .'/'. $fname;
        }
      }
      else $this->err[] ='The file not received';
    }
    else $this->err[] ='No photo file';

    if(count($this->err) >0) return implode('<br>', $this->err);
  }
}
3. Adaugati urmatorul cod intr-un fisier "upload_form.blade.php" (in directorul "resources/views/" ):
<h4>Upload Photo<h4>
<form method="post" action="/upload/photo" enctype="multipart/form-data">
{{ csrf_field() }}
File: <input type='file' name='photo'/><br>
<input type='submit' value='Upload'/>
</form>
4. Adaugati acest cod in fisierul "routes/web.php":
//shows the upload form
Route::name('upload')->get('/upload', function(){
  return view('upload_form');
});

//when the upload form is submited
Route::post('/upload/photo', 'UploadController@uploadPhoto');
5. Accesati urmatoarea adresa URL si selectati un fisier pentru incarcare:
//localhost:8000/upload
- Va afisa o pagina ca in aceasta imagine:
laravel upload form
6. Apasati pe butonul Upload, va deschide o pagina cu imaginea incarcata, cum se vede in imaginea urmatoare:
laravel uploaded file

Un alt exemplu de incarcare imagine este la aceasta pagina: //marplo.net/php-mysql/laravel-validare#anc_pex
- Formularul de incarcare contine campuri pt. Titlu si Descriere, in plus foloseste modelul avansat de validare Laravel.

O alta metoda de a salva fisierele incarcate pe server este sa folositi functia store('folder') sau storeAs('folder', 'file_name.ext').
Aceste metode stocheaza fisierele intr-un director specificat (folder) in directorul "storage/app".
Metoda store() va genera automat un ID unic pentru numele fisierului.
Metoda storeAs() primeste un al doilea argument pentru numele fisierului.
- Exemplu:
//store the uploaded 'photo' file in storage/app/uploads/

//with a unique generated name
$path = $request->photo->store('uploads');
echo $path; // uploads/wAwyYljmEkjHaucksuHM2luPiyUMNApmKrt1L3LK.png

//with the original file name
$fname = $request->photo->getClientOriginalName();
$path = $request->photo->storeAs('uploads', $fname);
echo $path; // uploads/image.png

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag HTML5 este indicat sa contina meniul cu link-uri de navigare in site?
<section> <nav> <article>
<nav><ul>
 <li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
 <li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Ce proprietate CSS muta elementrul in dreapta sau stanga de la locul unde e?
text-align clear float
.some_class {
  width: 30%;
  float: left;
}
Clic pe metoda obiectului Math care rotunjeste numarul x descrescator la cel mai apropiat intreg.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicati functia PHP care returneaza numarul de caractere dintr-un sir.
mb_strlen() count() stristr()
$str = "sir cu caractere utf-8 åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 29
Clic pe raspunsul potrivit la intrebarea: "When it happened?".
On the 7th of July 1996 It is a quarter to 5. Nice weather.
When it happened? On the 8th of August 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Indicati raspunsul potrivit la intrebarea: "¿Cuando sucedió?".
Hace buen tiempo. En el 8 de Agosto de 2001 Son las tres menos cuarto.
¿Cuando sucedió? En el 8 de Agosto de 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Laravel - Upload Fisiere

Last accessed pages

  1. Obiectul anchor si Lucru cu adrese din link (376)
  2. Jokes - Glume, Bancuri, Humor (2) (8723)
  3. OOP - Clase si Obiecte - Creare Clasa (3842)
  4. Curs HTML gratuit Tutoriale HTML5 (125188)
  5. Curs CSS Online Tutoriale CSS3 (75252)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2644)
  2. Curs HTML gratuit Tutoriale HTML5 (2433)
  3. Curs si Tutoriale JavaScript (1919)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (1707)
  5. Curs CSS Online Tutoriale CSS3 (1579)