Hướng dẫn upload profile picture in php w3schools - tải lên ảnh hồ sơ trong php w3schools


Với PHP, thật dễ dàng để tải các tệp lên máy chủ.

Tuy nhiên, một cách dễ dàng đến nguy hiểm, vì vậy hãy luôn cẩn thận khi cho phép tải lên tệp!


Định cấu hình tệp "php.ini"

Đầu tiên, đảm bảo rằng PHP được cấu hình để cho phép tải lên tệp.

Trong tệp "php.ini" của bạn, tìm kiếm chỉ thị file_uploads và đặt nó thành BẬT:


Tạo biểu mẫu HTML

Tiếp theo, hãy tạo biểu mẫu HTML cho phép người dùng chọn tệp hình ảnh họ muốn tải lên:



& nbsp; & nbsp; chọn hình ảnh để tải lên: & nbsp; & nbsp; & nbsp;
  Select image to upload:
  
 


& nbsp; & nbsp; chọn hình ảnh để tải lên: & nbsp; & nbsp; & nbsp;

  • Một số quy tắc cần tuân theo biểu mẫu HTML ở trên:
  • Đảm bảo rằng biểu mẫu sử dụng Phương thức = "Post"

Biểu mẫu cũng cần thuộc tính sau: Enctype = "Multipart/Form-Data". Nó chỉ định loại nội dung nào sẽ sử dụng khi gửi biểu mẫu

Không có các yêu cầu ở trên, tải lên tệp sẽ không hoạt động.

  • Những điều khác cần chú ý:

Thuộc tính loại = "tệp" của thẻ hiển thị trường đầu vào dưới dạng điều khiển chọn tệp, với nút "Duyệt" bên cạnh điều khiển đầu vào



Biểu mẫu ở trên gửi dữ liệu đến một tệp có tên "Tải lên.php", mà chúng tôi sẽ tạo tiếp theo.

Tạo tập lệnh tải lên tệp php

Tệp "upload.php" chứa mã để tải lên tệp:
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
  $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
  if($check !== false) {
    echo "File is an image - " . $check["mime"] . ".";
    $uploadOk = 1;
  } else {
    echo "File is not an image.";
    $uploadOk = 0;
  }
}
?>

PHP script explained:

  • Tập lệnh PHP giải thích:
  • $ target_dir = "Tải lên/" - Chỉ định thư mục nơi tệp sẽ được đặt
  • $ target_file chỉ định đường dẫn của tệp sẽ được tải lên
  • $ uploadok = 1 chưa được sử dụng (sẽ được sử dụng sau)
  • $ ImageFileType giữ phần mở rộng tệp của tệp (trong trường hợp thấp hơn)

Tiếp theo, kiểm tra xem tệp hình ảnh có phải là hình ảnh thực hay hình ảnh giả không You will need to create a new directory called "uploads" in the directory where "upload.php" file resides. The uploaded files will be saved there.


Lưu ý: Bạn sẽ cần tạo một thư mục mới gọi là "Tải lên" trong thư mục trong đó tệp "tải lên.php" nằm. Các tập tin được tải lên sẽ được lưu ở đó.

Kiểm tra xem tệp đã tồn tại chưa

Bây giờ chúng ta có thể thêm một số hạn chế.

Đầu tiên, chúng tôi sẽ kiểm tra xem tệp đã tồn tại trong thư mục "Tải lên". Nếu có, một thông báo lỗi được hiển thị và $ uploadok được đặt thành 0:
if (file_exists($target_file)) {
  echo "Sorry, file already exists.";
  $uploadOk = 0;
}


// kiểm tra xem tệp đã tồn tại (file_exists ($ target_file)) {& nbsp; echo "Xin lỗi, tập tin đã tồn tại."; & nbsp; $ uploadok = 0; }

Giới hạn kích thước tệp

Trường đầu vào tệp trong biểu mẫu HTML của chúng tôi ở trên được đặt tên là "Filetoupload".

Bây giờ, chúng tôi muốn kiểm tra kích thước của tệp. Nếu tệp lớn hơn 500kb, một thông báo lỗi sẽ được hiển thị và $ uploadok được đặt thành 0:
if ($_FILES["fileToUpload"]["size"] > 500000) {
  echo "Sorry, your file is too large.";
  $uploadOk = 0;
}


// Kiểm tra tệp Sizeif ($ _files ["Filetoupload"] ["size"]> 500000) {& nbsp; echo "Xin lỗi, tập tin của bạn quá lớn."; & nbsp; $ uploadok = 0; }

Giới hạn loại tệp

Mã bên dưới chỉ cho phép người dùng tải lên các tệp JPG, JPEG, PNG và GIF. Tất cả các loại tệp khác đều cung cấp thông báo lỗi trước khi đặt $ tải lên 0:
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
  $uploadOk = 0;
}


// Cho phép một số định dạng tệp nhất định ($ ImageFileType! = "Jpg" && $ ImageFileType! , Các tệp jpeg, png & gif được cho phép. "; & Nbsp; & nbsp; $ uploadok = 0;}

Hoàn thành Tải lên Tập lệnh Php

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

& nbsp; & nbsp; chọn hình ảnh để tải lên: & nbsp; & nbsp; & nbsp;
if(isset($_POST["submit"])) {
  $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
  if($check !== false) {
    echo "File is an image - " . $check["mime"] . ".";
    $uploadOk = 1;
  } else {
    echo "File is not an image.";
    $uploadOk = 0;
  }
}

Một số quy tắc cần tuân theo biểu mẫu HTML ở trên:
if (file_exists($target_file)) {
  echo "Sorry, file already exists.";
  $uploadOk = 0;
}

Đảm bảo rằng biểu mẫu sử dụng Phương thức = "Post"
if ($_FILES["fileToUpload"]["size"] > 500000) {
  echo "Sorry, your file is too large.";
  $uploadOk = 0;
}

Biểu mẫu cũng cần thuộc tính sau: Enctype = "Multipart/Form-Data". Nó chỉ định loại nội dung nào sẽ sử dụng khi gửi biểu mẫu
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
  $uploadOk = 0;
}

Không có các yêu cầu ở trên, tải lên tệp sẽ không hoạt động.
if ($uploadOk == 0) {
  echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
  if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.";
  } else {
    echo "Sorry, there was an error uploading your file.";
  }
}
?>


Những điều khác cần chú ý:

Thuộc tính loại = "tệp" của thẻ hiển thị trường đầu vào dưới dạng điều khiển chọn tệp, với nút "Duyệt" bên cạnh điều khiển đầu vào



Làm thế nào tôi có thể tải lên một hình ảnh hồ sơ trong PHP?

$ ext;if (move_uploaded_file ($ tmp_name, $ vị trí. $ full_name)) {echo 'hình ảnh được tải lên!';} Xuống đây chỉ là một số tuyên bố khác với các báo cáo lỗi.Mã dưới đây được sử dụng để hiển thị hình ảnh. $full_name)) { echo 'Photo uploaded! '; } Down here are just some else statements with error reports. The code below is used to display the image.

Các tệp $ _ trong PHP là gì?

$ _Files là một mảng toàn cầu kết hợp hai chiều của các mục đang được tải lên thông qua phương thức bài HTTP và giữ các thuộc tính của các tệp như: thuộc tính.Sự mô tả.[Tên] Tên của tệp đang tải lên.a two-dimensional associative global array of items which are being uploaded via the HTTP POST method and holds the attributes of files such as: Attribute. Description. [name] Name of file which is uploading.

Làm thế nào tôi có thể tải lên hình ảnh trong HTML?

Sao chép và dán URL hình ảnh của bạn vào thẻ IMG, thêm SRC vào nó.Xác định trước tiên bạn muốn đặt hình ảnh của mình trong HTML và chèn thẻ hình ảnh,.Sau đó lấy hình ảnh đã tải lên của bạn, sao chép URL và đặt nó trong các tham số IMG của bạn được mở đầu bởi SRC.. Identify first where you'd like to place your image within the HTML and insert the image tag, . Then take your uploaded image, copy the URL and place it within your img parameters prefaced by a src.

Làm thế nào tôi có thể xem hình ảnh đã tải lên trong PHP?

"";$ Image = $ _ Files ["File"] ["Tên"];/* Hiển thị hình ảnh*/$ img = "upload /".$ hình ảnh;echo '';}}} khác {echo "tệp không hợp lệ";}?> $image; echo ' $img>'; } } } else { echo "Invalid file"; } ?>