laravel

Tải lên tệp trong Laravel rất dễ dàng. Tất cả những gì chúng ta cần làm là tạo một tệp xem nơi người dùng có thể chọn tệp để tải lên và một bộ điều khiển nơi các tệp đã tải lên sẽ được xử lý.

Trong tệp dạng xem, chúng ta cần tạo đầu vào tệp bằng cách thêm dòng mã sau.

Form::file('file_name');

Trong Form :: open (), chúng ta cần thêm ‘files’ => ‘true’ như hình bên dưới. Điều này tạo điều kiện cho biểu mẫu được tải lên thành nhiều phần.

Form::open(array('url' => '/uploadfile','files'=>'true'));

Thí dụ

Bước 1 – Tạo một tệp xem có tên là resource / views / uploadfile.php và sao chép đoạn mã sau vào tệp đó.resource / views / uploadfile.php

<html>
   <body>
      <?php
         echo Form::open(array('url' => '/uploadfile','files'=>'true'));
         echo 'Select the file to upload.';
         echo Form::file('image');
         echo Form::submit('Upload File');
         echo Form::close();
      ?>
   </body>
</html>

Bước 2 – Tạo bộ điều khiển có tên UploadFileController bằng cách thực hiện lệnh sau.

php artisan make:controller UploadFileController --plain

Bước 3 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

Laravel

Bước 4 – Sao chép mã sau vào

tệp app / Http / Controllers / UploadFileController.php .

app / Http / Controllers / UploadFileController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UploadFileController extends Controller {
   public function index() {
      return view('uploadfile');
   }
   public function showUploadFile(Request $request) {
      $file = $request->file('image');
   
      //Display File Name
      echo 'File Name: '.$file->getClientOriginalName();
      echo '<br>';
   
      //Display File Extension
      echo 'File Extension: '.$file->getClientOriginalExtension();
      echo '<br>';
   
      //Display File Real Path
      echo 'File Real Path: '.$file->getRealPath();
      echo '<br>';
   
      //Display File Size
      echo 'File Size: '.$file->getSize();
      echo '<br>';
   
      //Display File Mime Type
      echo 'File Mime Type: '.$file->getMimeType();
   
      //Move Uploaded File
      $destinationPath = 'uploads';
      $file->move($destinationPath,$file->getClientOriginalName());
   }
}

Bước 5 – Thêm các dòng sau vào app / Http / route.php .

app / Http / route.php

Route::get('/uploadfile','UploadFileController@index');
Route::post('/uploadfile','UploadFileController@showUploadFile');

Bước 6 – Truy cập URL sau để kiểm tra chức năng của tệp tải lên.

http://localhost:8000/uploadfile

Bước 7 – Bạn sẽ nhận được một lời nhắc như trong hình sau.

Laravel

Laravel – Sending Email Gửi Email

Laravel sử dụng thư viện SwiftMailer giàu tính năng miễn phí để gửi email. Sử dụng chức năng thư viện, chúng ta có thể dễ dàng gửi email mà không gặp quá nhiều phức tạp. Các mẫu e-mail được tải giống như các dạng xem, có nghĩa là bạn có thể sử dụng cú pháp Blade và đưa dữ liệu vào các mẫu của mình. Bảng sau đây cho thấy cú pháp và thuộc tính của hàm gửi :

Cú phápvoid send (string | array $ view, array $ data, Closure | string $ callback)
Thông số$ view (string | array) – tên của dạng xem có chứa email$ data (array) – mảng dữ liệu cần chuyển để xem$ callback – một cuộc gọi lại Closure nhận một phiên bản thư, cho phép bạn tùy chỉnh người nhận, chủ đề và các khía cạnh khác của thư
Lợi nhuậnkhông có gì
Sự miêu tảGửi email.

Trong đối số thứ ba, phiên bản thông báo $ callback closeure đã nhận và với cá thể đó, chúng ta cũng có thể gọi các hàm sau và thay đổi thông báo như hình dưới đây.

  • $ message → subject (‘Chào mừng đến với Điểm Hướng dẫn’);
  • $ message → from (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → to (’email@example.com ‘,’ Mr. Ví dụ ‘);

Một số phương pháp ít phổ biến hơn bao gồm:

  • $ message → sender (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → returnPath (’email@example.com ‘);
  • $ message → cc (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → bcc (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → replyTo (’email@example.com ‘,’ Mr. Ví dụ ‘);
  • $ message → ưu tiên (2);

Để đính kèm hoặc nhúng tệp, bạn có thể sử dụng các phương pháp sau:

  • $ message → attachment (‘path / to / attachment.txt’);
  • $ message → nhúng (‘path / to / attachment.jpg’);

Thư có thể được gửi dưới dạng HTML hoặc văn bản. Bạn có thể chỉ ra loại thư mà bạn muốn gửi trong đối số đầu tiên bằng cách chuyển một mảng như hình dưới đây. Loại mặc định là HTML. Nếu bạn muốn gửi thư văn bản thuần túy thì hãy sử dụng cú pháp sau.

Cú pháp

Mail::send([‘text’=>’text.view’], $data, $callback);

Trong cú pháp này, đối số đầu tiên nhận một mảng. Sử dụng văn bản làm tên khóa của dạng xem làm giá trị của khóa.

Thí dụ

Bước 1 – Bây giờ chúng tôi sẽ gửi một email từ tài khoản Gmail và bạn cần phải định cấu hình tài khoản Gmail của mình trong tệp môi trường Laravel – tệp .env . Bật xác minh 2 bước trong tài khoản Gmail của bạn và tạo mật khẩu dành riêng cho ứng dụng, sau đó thay đổi thông số .env như hình dưới đây.

.env

MAIL_DRIVER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 587
MAIL_USERNAME = your-gmail-username
MAIL_PASSWORD = your-application-specific-password
MAIL_ENCRYPTION = tls

Bước 2 – Sau khi thay đổi tệp .env, thực hiện hai lệnh dưới đây để xóa bộ nhớ cache và khởi động lại máy chủ Laravel.

php artisan config:cache

Bước 3 – Tạo một bộ điều khiển có tên là MailController bằng cách thực hiện lệnh sau.

php artisan make:controller MailController --plain

Bước 4 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:

laravel

Bước 5 – Sao chép mã sau vào

tệp app / Http / Controllers / MailController.php .

app / Http / Controllers / MailController.php

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mail;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class MailController extends Controller {
   public function basic_email() {
      $data = array('name'=>"Virat Gandhi");
   
      Mail::send(['text'=>'mail'], $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Basic Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Basic Email Sent. Check your inbox.";
   }
   public function html_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel HTML Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "HTML Email Sent. Check your inbox.";
   }
   public function attachment_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Testing Mail with Attachment');
         $message->attach('C:\laravel-master\laravel\public\uploads\image.png');
         $message->attach('C:\laravel-master\laravel\public\uploads\test.txt');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Email Sent with attachment. Check your inbox.";
   }
}

Bước 6 – Sao chép đoạn mã sau vào tệp resource / views / mail.blade.php .

resource / views / mail.blade.php

<h1>Hi, {{ $name }}</h1>
l<p>Sending Mail from Laravel.</p>

Bước 7 – Thêm các dòng sau vào app / Http / route.php.

app / Http / route.php

Route::get('sendbasicemail','MailController@basic_email');
Route::get('sendhtmlemail','MailController@html_email');
Route::get('sendattachmentemail','MailController@attachment_email');

Bước 8 – Truy cập URL sau để kiểm tra email cơ bản.

http://localhost:8000/sendbasicemail

Bước 9 – Màn hình đầu ra sẽ giống như thế này. Kiểm tra hộp thư đến của bạn để xem đầu ra email cơ bản.

laravel

Bước 10 – Truy cập URL sau để kiểm tra email HTML.

http://localhost:8000/sendhtmlemail

Bước 11 – Màn hình đầu ra sẽ trông giống như thế này. Kiểm tra hộp thư đến của bạn để xem đầu ra email html.

laravel

Bước 12 – Truy cập URL sau để kiểm tra email HTML có tệp đính kèm.

http://localhost:8000/sendattachmentemail

Bước 13 – Bạn có thể thấy kết quả sau

laravel

Lưu ý – Trong tệp MailController.php , địa chỉ email trong phương thức from phải là địa chỉ email mà bạn có thể gửi địa chỉ email. Nói chung, nó phải là địa chỉ email được định cấu hình trên máy chủ của bạn.

Laravel – Ajax xem thêm

Trả lời