samedi 24 mars 2018

In Laravel 5.6, is it necessary to check if a directory exists before creation? (Situational)

In a function used in Image Storage, I realized I MAY have been over-complicating the code. I have two examples that both return the same results.

First Example:

    public function image(Request $request, User $user)
    {
      $file = $request->file('image');  

      $path = "user_" . $user->id . "_images";

      $filename = $path . "/test.jpg";

      Storage::disk('public')->put($filename, File::get($file));

      return back();
    }

This example was tested in two scenarios. Once with NO directory inside public, and it returned by creating public/user_1_images/test.jpg ...

The second scenario, we already had public/user_1_images/ as an empty directory. Meaning it already exists. So instead, it just put the file inside of there without creating the folder.

Second Example:

    public function image(Request $request, User $user)
    {
      $file = $request->file('image');  

      $path = "user_" . $user->id . "_images";

      if (!Storage::disk('public')->exists($path)) 
      {
          Storage::makeDirectory($path, 0755, true, true);
      }

      $filename = $path . "/test.jpg";

      Storage::disk('public')->put($filename, File::get($file));

      return back();

}

In this example, we're checking to see if public/user_1_images/ exists, and if it does not, we're creating the folder, and then putting the image inside.

Would I need to do this, if I can just have it automatically check/create/not-create by titling the file "user_1_images/test.jpg"?



from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/2Gk35Z8
via IFTTT

Aucun commentaire:

Enregistrer un commentaire