Tải lên và hiển thị tệp trong php

Đây là phần 2 của loạt bài upload file PHP. Bạn có thể tìm thấy phần 1 của loạt bài này tại PHP File Upload Tutorial (phần 1). Trong hướng dẫn này, chúng tôi sẽ hiển thị các tệp đã tải lên (hình ảnh) trên "chỉ mục. php" và thực hiện chức năng xóa. Ở cuối hướng dẫn, chúng tôi cũng cung cấp mã nguồn có thể tải xuống

Sự chuẩn bị

Đảm bảo rằng bạn đã theo dõi phần 1 của loạt bài này và thực hiện đúng các bước. Nếu bạn làm như vậy, bây giờ bạn có thể tự do chuyển sang bước 2

Hiển thị tập tin hình ảnh

Hiện tại nếu chúng ta mở "index. php" từ trình duyệt, sau khi tải lên tệp hình ảnh, không có giao diện để chúng tôi xem hình ảnh được tải lên. Để khắc phục sự cố này, chúng tôi sẽ quét thư mục "tải lên" và hiển thị bất kỳ hình ảnh nào bên trong thư mục "chỉ mục. tập tin php"

Mở tệp "chỉ mục. php" và sao chép mã được đánh dấu vào "index. php"



  
    
    
    PHP File Uploader
 
    
    
    
  
 
  
 
    
    

Remove

'; } } ?>

Select a file to upload

Only jpg,jpeg,png and gif file with maximum size of 1 MB is allowed.

Bây giờ chúng ta hãy xem kỹ những gì chúng ta thực sự đã thêm vào tệp. Đầu tiên chúng ta sử dụng hàm PHP "scandir" để quét thư mục "uploads". Hàm này sẽ trả về nội dung của thư mục ở định dạng mảng. Vì vậy, chúng tôi lặp qua các giá trị mảng được trả về và nếu giá trị bằng ". " hoặc ". ", chúng tôi sẽ bỏ qua chúng. ". " Và ". " ở đây là viết tắt của thư mục hiện tại và thư mục mẹ. Vì chúng không phải là nội dung thực sự của thư mục mà chúng tôi cần, nên chúng tôi bỏ qua chúng. Cuối cùng, chúng tôi sử dụng PHP "is_file" để đảm bảo tệp hình ảnh tồn tại và hiển thị chúng. Trong khi đó, chúng tôi thêm một liên kết xóa cho mỗi hình ảnh. Chúng tôi sẽ thực hiện chức năng xóa bước tiếp theo

Nếu bạn đã triển khai đúng ở trên, bạn sẽ có thể thấy "chỉ mục. trang php" như bên dưới

Tải lên và hiển thị tệp trong php

Thực hiện chức năng xóa

Nếu bạn đã theo dõi đến đây, chúng tôi tin rằng bạn hẳn đã nhận thấy chức năng còn thiếu duy nhất là xóa các tệp đã tải lên. Đó là những gì chúng ta sẽ thực hiện trong bước này. Mở "xóa. php", mà chúng ta đã tạo trước đây trong phần 1. Và sao chép mã dưới đây vào nó


Tệp này đơn giản và dễ hiểu. Trước tiên, chúng tôi lấy tên tệp từ URL bằng yêu cầu $_GET. Sau đó, chúng tôi kiểm tra xem tệp có tồn tại hay không, trước khi chúng tôi xóa tệp đó bằng chức năng "hủy liên kết" của PHP, cuối cùng, chúng tôi chuyển hướng trang trở lại "chỉ mục. php"

Kết thúc

Nếu bạn đã thực hiện đúng tất cả các bước, bây giờ bạn sẽ có một ứng dụng tải tệp lên hoạt động hoàn chỉnh. Tuy nhiên, xin lưu ý rằng, ứng dụng này dành cho người mới bắt đầu hiểu những điều cơ bản về cách thức hoạt động của tệp tải lên trong PHP. Nó chưa phải là một ứng dụng sẵn sàng sản xuất. Có rất nhiều khía cạnh khác để đề cập, đặc biệt là trong phần bảo mật. Bạn có thể tải xuống mã nguồn theo liên kết bên dưới

Mã nguồn

Hy vọng rằng hướng dẫn đơn giản này đã giúp bạn phát triển. Nếu bạn thích bài đăng của chúng tôi, vui lòng theo dõi chúng tôi trên Twitter và giúp truyền bá thông tin. Chúng tôi cần sự hỗ trợ của bạn để tiếp tục. Nếu bạn có thắc mắc hoặc tìm thấy những sai lầm của chúng tôi trong hướng dẫn trên, hãy để lại nhận xét bên dưới để cho chúng tôi biết

CHÀO. Trong hướng dẫn này, hãy để tôi chỉ cho bạn cách tải lên, xem và tải xuống tệp trong php và mysql. Quá trình tải tệp lên tương tự như những gì chúng ta đã thảo luận ở đây, nhưng tập lệnh php này không chỉ tải tệp lên máy chủ mà còn lưu trữ đường dẫn tệp và ngày tạo tệp trong cơ sở dữ liệu mysql. Ngoài việc tải tệp lên, nó còn cung cấp cho bạn tùy chọn xem tệp trên trình duyệt và tải xuống từ máy chủ

Với PHP, bạn thực tế có thể tải lên bất kỳ loại tệp nào và tập lệnh tải lên tệp mà tôi đã chia sẻ bên dưới sẽ hoạt động với tất cả các loại tệp như PDF, Tài liệu, Hình ảnh, MP3, Video, lưu trữ Zip, v.v. Chỉ cần đưa các phần mở rộng tệp đó vào quy trình lọc (mảng ____6_______) và bạn sẽ có thể tải chúng lên

Làm cách nào để tải lên, xem và tải xuống tệp trong PHP & MySQL?

Hãy chuyển sang phần mã hóa. Trước tiên, bạn nên tạo cơ sở dữ liệu mysql để lưu trữ chi tiết tệp

Tạo cơ sở dữ liệu MySQL

CREATE DATABASE `demo` ;
Use `demo`;
CREATE TABLE IF NOT EXISTS `tbl_files` (
  `id` int(9) NOT NULL AUTO_INCREMENT,
  `filename` varchar(255) NOT NULL,
  `created` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Tiếp theo là script kết nối cơ sở dữ liệu thiết lập kết nối đến cơ sở dữ liệu mysql từ php

dbconnect. php

Sau đó tạo chỉ mục. php - đây là tệp chính chứa giao diện người dùng. Nó có biểu mẫu tải lên và bảng html để hiển thị danh sách các tệp đã tải lên từ cơ sở dữ liệu cùng với các liên kết 'Xem' & 'Tải xuống' cho chúng

mục lục. php





    Upload View & Download file in PHP and MySQL | Demo
    
    



Select File to Upload:
# File Name View Download
View Download

Ghi chú. Bản demo này sử dụng twitter bootstrap cho css stylesheet

chỉ mục đang chạy. php sẽ tạo một trang có biểu mẫu tải lên và bảng có chi tiết tệp tương tự như thế này. Người dùng có thể nhấp vào liên kết 'Xem' để xem các tệp trên trình duyệt hoặc vào 'Tải xuống' để tải xuống các tệp từ máy chủ

Tải lên và hiển thị tệp trong php

Cuối cùng là 'tải lên. php' sẽ được thực thi khi biểu mẫu được gửi để tải lên tệp đã chọn. Đây là nơi chúng tôi thực sự tải tệp lên máy chủ từ máy khách và lưu tên và ngày tải lên của tệp vào cơ sở dữ liệu

tải lên. php

 0)
            {
                $row = mysqli_fetch_array($result);
                $filename = ($row['id']+1) . '-' . $filename;
            }
            else
                $filename = '1' . '-' . $filename;

            //set target directory
            $path = 'uploads/';
                
            $created = @date('Y-m-d H:i:s');
            move_uploaded_file($_FILES['file1']['tmp_name'],($path . $filename));
            
            // insert file details into database
            $sql = "INSERT INTO tbl_files(filename, created) VALUES('$filename', '$created')";
            mysqli_query($con, $sql);
            header("Location: index.php?st=success");
        }
        else
        {
            header("Location: index.php?st=error");
        }
    }
    else
        header("Location: index.php");
}
?>

Tập lệnh này tải tệp từ máy cục bộ lên máy chủ và lưu trữ thông tin chi tiết của nó vào cơ sở dữ liệu và chuyển hướng đến chỉ mục. php. Nếu mọi thứ suôn sẻ, bạn sẽ có thể thấy thông báo thành công khi hoàn thành

Tải lên và hiển thị tệp trong php

Nếu có bất kỳ lỗi nào, bạn sẽ được thông báo về nó

Tải lên và hiển thị tệp trong php

cũng đọc
  • Cách tải xuống tệp từ URL bằng PHP & CURL
  • Hệ thống đăng nhập và đăng ký người dùng PHP sử dụng MySQL

Vì vậy, chúng tôi đã thấy về tải lên tệp và xem và tải xuống bằng cách sử dụng cơ sở dữ liệu php và mysql. Nếu muốn, bạn có thể đặt giới hạn kích thước tệp hoặc hạn chế người dùng chỉ tải lên pdf hoặc hình ảnh, v.v.

Làm cách nào để hiển thị tệp đã tải lên trong PHP?

Tải lên tệp PHP .
Định cấu hình "php. ini" Tập tin. Trước tiên, hãy đảm bảo rằng PHP được định cấu hình để cho phép tải tệp lên. .
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ế. .
Kích thước tệp giới hạn. Trường nhập tệp trong biểu mẫu HTML của chúng tôi ở trên được đặt tên là "fileToUpload". .
Loại tệp giới hạn. .
Hoàn thành tải lên tệp PHP Script

Làm cách nào để tải lên và hiển thị hình ảnh trong PHP?

Đảm bảo tệp là một hình ảnh . isset($image_file)) { die('Không có tệp nào được tải lên. ');

Làm cách nào để tải lên và xem tệp bằng PHP và MySQL?

Lấy phần mở rộng tệp bằng hàm pathinfo() trong PHP và xác thực định dạng tệp để kiểm tra xem người dùng có chọn tệp hình ảnh hay không. Tải hình ảnh lên máy chủ bằng hàm move_uploaded_file() trong PHP. Chèn tên tệp hình ảnh vào cơ sở dữ liệu MySQL bằng PHP. Trạng thái tải lên sẽ được hiển thị cho người dùng

Làm cách nào để tải lên và hiển thị nhiều hình ảnh trong PHP?

Hiển thị hoạt động trên bài đăng này. .
Tên đầu vào phải được định nghĩa là một mảng i. e. tên = "tên đầu vào []"
Phần tử đầu vào phải có nhiều="nhiều" hoặc chỉ nhiều Trong của bạn
Tệp PHP sử dụng cú pháp "$_FILES['inputElemName']['param'][index]"
Đảm bảo tìm tên tệp và đường dẫn trống, mảng có thể. chứa các chuỗi rỗng