Hướng dẫn dùng upload_resume php trong PHP
Show Trong bài học này, chúng ta sẽ tìm hiểu về biến siêu toàn cục $_FILES cũng như cách upload filfe trong PHP.
Video Upload file trong PHPHướng dẫn chi tiết"Ra đời, cuộc sống bươm chải, có làm vẫn không có ăn" nên phải gắn QUẢNG CÁO Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn Biến siêu toàn cục $_FILES$_FILES là một mảng kết hợp của các mục được tải lên thông qua phương thức POST. Trong đó, các file được tải lên sẽ là 1 phần tử trong mảng gồm key là name bạn đặt trong file html và value là một mảng gồm 4 phần tử
Xử lý upload file trong phpForm html của chúng ta như sau: Có làm thì mới có ăn như ai đó từng nói - Vài dòng ngắn cho QUẢNG CÁO nhé Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký và sử dụng hosting từ link trên, Góc Làm Web sẽ có một ít tiền để duy trì.Để upload file, chúng ta sẽ dùng hàm move_uploaded_file($ten_file, $dia_chi_luu_file). $ten_file: tên ‘tmp_name’ của file được tải tạm lên server. $dia_chi_luu_file: nơi lưu trữ file upload mà bạn muốn. move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], 'uploads/'.basename($_FILES["fileToUpload"]["name"])); Tất nhiên, chỉ đơn giản như thế thì chúng ta đã có thể upload file. Tuy nhiên, chúng ta hay thử áp dụng $_FILES để xử lý phức tạp hơn một chút quá trình tải file lên.
Nếu thỏa hết tất cả điều kiện sẽ tiến hành upload file. Đầu tiên, chúng ta sẽ xác định nơi lưu file và file chúng ta sẽ xử lý nhé. $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); Kiểm tra file đã tồn tại chưa Nếu đã tồn tại sẽ bỏ qua. Thật ra, chúng ta có thể xử lý bằng cách đổi tên file nhưng thì làm đơn giản thôi nhé, trường hợp để tên file cách bạn có thể tìm hiểu thêm. if (file_exists($target_file)) { echo "Sorry, file already exists."; } Kiểm tra loại file Chúng ta sẽ kiểm tra loại file bằng cách kiểm tra đuôi file có nằm trong danh sách cho phép tải lên hay không. Trong ví dụ, chúng ta chỉ cho các file png, jpg, jpeg, gif tải lên. $fileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // Allow certain file formats if($fileType != "jpg" && $fileType != "png" && $fileType != "jpeg" && $fileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; $upload_ok = 0; } Kiểm tra kích thước file Chúng ta sẽ xem kích thước file bằng cách truy cập vào key ‘size’ if ($_FILES["fileToUpload"]["size"] > 500000) { echo "Sorry, your file is too large."; } Và nếu như thỏa hết, chúng ta chỉ cần dùng hàm move_uploaded_file để lưu trữ. move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file); Tài liệu bài học: Download Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web. Liên hệ
Tổng quan về kỹ thuật Upload file trong PHPĐể HTML FORM có thể gửi file lên server (http server) thì form phải có thuộc tính enctype="multipart/form-data", phần tử trong form để chọn và gửi file có dạng (tức là dùng phần tử Khi file
Upload lên Server (chạy PHP) thì file sẽ lưu vào một thư mục tạm (temporary directory, như trên Linux đó là /tmp) của hệ thống PHP, và toàn bộ thông tin về file upload sẽ lưu trong biến mảng toàn cục Chúng ta cần đọc thông tin từ Mảng biến array (size=1)
'myfile' =>
array (size=5)
'name' => string 'somefile.txt' (length=12)
'type' => string 'text/plain' (length=10)
'tmp_name' => string '/tmp/phpDC66.tmp' (length=16)
'error' => int 0
'size' => int 18
Các thành phần đó là:
Bằng việc đọc Nếu sau khi upload vào thư mục tạm một thời gian (như trên là Tạo form HTML upload fileĐể thực hành upload file trong PHP, trước tiên tạo Có thể tạo file Hiện thị Lưu ý khi tạo form để uplad ảnh (file) thì cần thiết đặt thuộc tính form có: Code PHP xử lý Upload FileCode xử lý upload sau là xử lý chỉ cho upload
các file ảnh, với các loại file là jpg, png, jpeg, gif. File Upload file có cỡ < 0.8 MB. File Upload sẽ lưu vào thư mục Code xử lý upload file để trong file $maxfilesize) { echo "Không được upload ảnh lớn hơn $maxfilesize (bytes)."; $allowUpload = false; } // Kiểm tra kiểu file if (!in_array($imageFileType,$allowtypes )) { echo "Chỉ được upload các định dạng JPG, PNG, JPEG, GIF"; $allowUpload = false; } if ($allowUpload) { // Xử lý di chuyển file tạm ra thư mục cần lưu trữ, dùng hàm move_uploaded_file if (move_uploaded_file($_FILES["fileupload"]["tmp_name"], $target_file)) { echo "File ". basename( $_FILES["fileupload"]["name"]). " Đã upload thành công."; echo "File lưu tại " . $target_file; } else { echo "Có lỗi xảy ra khi upload file."; } } else { echo "Không upload được file, có thể do file lớn, kiểu file không đúng ..."; } ?> Giải thích code trên: Các $_FILE = Array ( [file1] => Array ( [name] => 'test2.txt';//một tên file người dùng upload [type] => text/plain (kiểu nội dung file text) [tmp_name] => /tmp/php/php1h4j1 //vị trí lưu file tạm thời trên server. [error] => UPLOAD_ERR_OK (= 0 là không lỗi) [size] => 123 (kích thước file - bype) ) [file2] => Array ( [name] => test.jpg [type] => image/jpeg [tmp_name] => /tmp/php/php6hst32 [error] => UPLOAD_ERR_OK [size] => 98174 ) )
Như vậy khi xủ lý upload file, bạn truy cập vào $_FILE và di chuyển file vừa upload từ Kiểm tra file upload có phải là file ảnh (dùng cho trường hợp bạn chỉ cho phép up ảnh) thì đầu tiên gọi Kiểm tra phần mở rộng của tên file: Lấy phần mở rộng NHANH CHÓNG CHẠY THỬ CODE TRÊN Bạn có thể tạo ra một thư mục đặt tên Sau đó vào thư mục php -S 0.0.0.0:8088 -t uploadfile/ Từ trình duyệt truy cập Code PHP Upload nhiều FileTrong
thẻ Ví dụ HTML như sau: Lúc này tại PHP
Đoạn code sau hiện thị FORM để bạn chọn một lúc nhiều file upload, sau đó code PHP sẽ hiện thị các thông tin về các file mà bạn upload lên. Hãy chạy và chọn thử nhiều file upload để kiểm tra File "; echo "Tên file: $names[$i] Source code: uploadfile (Git), hoặc tải rphp-uploadfile Chạy thử bằng cách để
file này vào thư mục |