Show
Hình ảnh thường nằm trong thư mục tài sản/hình ảnh của ứng dụng của bạn. Người dùng web có thể dễ dàng truy cập hình ảnh của bạn bằng URL trực tiếp mà không cần đăng nhập. Nếu bạn đang lưu trữ hình ảnh đã tải lên của người dùng trong thư mục máy chủ web của mình, ai đó có thể lấy cắp những hình ảnh quan trọng của bạn. Ví dụ, ảnh của nhân viên Một vấn đề khác là nếu bạn có nhiều máy chủ ứng dụng chạy cùng một ứng dụng để phục vụ đồng thời nhiều yêu cầu HTTP, hình ảnh do người dùng tải lên có thể được lưu trữ ở một trong hai máy chủ. Do đó, khi một người dùng khác cố gắng xem hình ảnh đã tải lên, hình ảnh có thể bị thiếu. Xem hình ảnh bên dưới Thiếu hình ảnh khi sử dụng nhiều máy chủ ứng dụng Có nhiều cách để giải quyết vấn đề này. Đây là cách tôi giải quyết nó. Lưu hình ảnh vào cơ sở dữ liệu Tóm tắt quy trình làm việc. Đang tải hình ảnh Xem mã mẫu bên dưới Biểu mẫu tải tệp lên <html> <body> <form action="backend.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file"/> <br /> <input type="submit"/> </form> </body> </html> phụ trợ <?php if(!isset($_GET["getfile"])){ if ($_FILES["file"]["error"] > 0){ echo "Error: " . $_FILES["file"]["error"] . "<br>"; }else{ move_uploaded_file($_FILES["file"]["tmp_name"], $_FILES["file"]["name"]); $bin_string = file_get_contents($_FILES["file"]["name"]); $hex_string = base64_encode($bin_string); $mysqli = mysqli_init(); if (!$mysqli->real_connect('localhost', 'root', '', 'test')) { die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error()); } $mysqli->query("INSERT INTO upload(image) VALUES ('" . $hex_string . "')"); } }else{ $mysqli = mysqli_init(); if ($mysqli->real_connect('localhost', 'root', '', 'test')) { if ($result = $mysqli->query("SELECT * FROM upload ORDER BY id DESC")){ if($row = $result->fetch_assoc()){ $output_hex_string = $row["image"]; $output_bin_string = base64_decode($output_hex_string); header("Content-Type: image/png"); header("Content-Length: " . strlen($output_bin_string)); $result->free(); echo $output_bin_string; } } } } ?> <img src="backend.php?getfile=1" /> Note: The last line of code ‘ Giải pháp thay thế rất nhanh<?php $data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6BAMAAAB6wkcOAAAAG1BMVEX///8AAACfn59fX18fHx/f39+/v79/f38/Pz9KdSATAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACeklEQVR4nO3WQU8aQRTA8WFxdj26uiw9QqIJR5vaxmPRJnBcWmuvSxNJj9gYy1G0rX7svjc7W5YApu1yav6/hOU5vMzbN8wsGgMAAAAAAAAAAAAAAAAAAAAAAAAAAPA/CE7i80zee0+iI0H0PXnzTF6gefc6Muuf5zWLh8nXSW9fgtNvQmaz724/z6eb85qPkncrwcVg0mvXrd6Ry7VUffADOz+kv/3NebvHfmQoK9Ht1CzvKsqMjz6+1uU92Zy369clasml+XYL1SOZZOBj9z7qbMzb8dXdu11dpH+rflaEYarXYnlt7kay5er+xsbuwwdTn87quwj2ygGJ3Z2Mp0t5DV+96643W6iuraZ2ok1Gd4t7cLssbC/nNfLLK41nlXuoR1bRtudxIl02XfWw5cajdKl1t9qjWRzr3jgtRjJT25N8x8mReT+U6seV6tJ8tXXNM6OzzB7KLb7aVvVAa+Xyupj6/VZWj9Jq6y4vlJcdlPttC9XHHR/IrlpaeWm+vS5PN9u2Vt6el5EU9dX3yoLpujwt6qvXLW4uymensak/a8VVN7xu+5U8M8r9Wat94uxwEbb8mhcroBs+StfkmVHm1/y0bvVKS3rM3VPHP051w/9uvpKnx7zR0WBg6gkX36Zr2f3AdIvNpBu+bL6apy27H5igZeqpHqluLosqf9tipxdn3Te/dPRSnzNa/UfgrwQHH0VmgvvMfNAJw4PMHN4V1d3cUV7NM70jY1/qB+PXJhiun/SP7caqZexN3H/h6nyJ+2u+zTLPfOon8U93b/Mkqdl6xeWkDK6ezbOTvAy28JAHAAAAAAAAAAAAAAAAAAAAAAAAAAArfgEnYGI6+pXm3AAAAABJRU5ErkJggg=="; file_put_contents('assets/images/my-quick-file.jpg', file_get_contents($data)); Ngoài ra, hãy đọc hướng dẫn của chúng tôi
Đó là nó từ cuối của chúng tôi. Chúng tôi hy vọng bài viết này đã giúp bạn tìm hiểu Cách chuyển đổi Base64 thành Image trong PHP Vui lòng cho chúng tôi biết trong phần nhận xét nếu mọi thứ hoạt động như mong đợi, các vấn đề của bạn hoặc bất kỳ câu hỏi nào. Nếu bạn nghĩ rằng bài viết này đã tiết kiệm thời gian và tiền bạc của bạn, vui lòng bình luận, chia sẻ, thích và đăng ký. Cảm ơn bạn đã đọc bài đăng này 🙂 Hãy mỉm cười. mã hóa hạnh phúc Tôi có nên lưu trữ hình ảnh dưới dạng base64 trong cơ sở dữ liệu không?Nói chung là không . Base64 sẽ chiếm nhiều không gian hơn mức cần thiết để lưu trữ những hình ảnh đó. Tùy thuộc vào kích thước hình ảnh của bạn và tần suất chúng được truy cập, việc đưa vào cơ sở dữ liệu thường không phải là áp lực tối ưu. Bạn nên lưu trữ chúng trên hệ thống tệp hoặc trong thứ gì đó như bộ lưu trữ Azure blob.
Làm cách nào tôi có thể tải xuống hình ảnh base64 trong PHP?php dưới dạng hình ảnh base64. . Tải xuống cơ sở64 Làm cách nào tôi có thể lấy base64 trong PHP?Hàm base64_encode() là một hàm có sẵn trong PHP được sử dụng để chuyển đổi bất kỳ dữ liệu nào sang mã hóa base64. Để chuyển đổi hình ảnh thành mã hóa base64, trước tiên cần lấy nội dung của tệp. Điều này có thể được thực hiện với sự trợ giúp của hàm file_get_contents() của PHP.
Làm cách nào chúng tôi có thể lưu trữ và truy xuất hình ảnh từ cơ sở dữ liệu trong PHP?Lưu trữ tệp hình ảnh trong cơ sở dữ liệu (tải lên. . Kiểm tra xem người dùng có chọn tệp hình ảnh để tải lên không Truy xuất nội dung của tệp hình ảnh theo tên tmp_name bằng hàm PHP file_get_contents() Chèn nội dung nhị phân của hình ảnh vào cơ sở dữ liệu bằng PHP và MySQL Hiển thị trạng thái tải lên hình ảnh cho người dùng |