Hướng dẫn php file_get_contents
- Hàm file_get_contents() dùng để lấy nội dung của một tập tin.- Cú pháp:
- Tôi có một tập tin myCode_01.html nằm ở đường dẫn http://webcoban.vn/file/myCode_01.html với nội dung như sau:
- Để lấy nội dung của tập tin myCode_01.html thì tôi sử dụng đoạn mã sau:
- Khi đó, biến $text sẽ có giá trị là chuỗi:
- Ví dụ phía trên là chúng ta lấy toàn bộ nội dung của tập tin, để lấy một phần nội dung của tập tin thì chúng ta sử dụng cú pháp như sau:
- Trong đó:
- Biến $text sẽ có giá trị là chuỗi:
- Biến $text sẽ có giá trị là chuỗi:
- Biến $text sẽ có giá trị là chuỗi: File_get_contents là một trong những hàm thường gặp khi làm việc với ngôn ngữ PHP. Để hiểu và sử dụng thành thạo bạn hãy xem các ví dụ cụ thể sau. Định nghĩa Hàm Cú pháp:
Để hiểu rõ hơn hãy đi vào ví dụ sau:
Khi chạy file php đó bạn sẽ lấy được nội dung của toàn bộ website. Bây giờ mình sẽ xuất ra chuỗi đó thành mảng để đọc thông tin dễ dàng hơn.
Để lưu file (ảnh, video) từ 1 url, trong php có rất nhiều cách làm, chúng tôi VinaSupport đã tổng hợp 4 cách sau:
1. Hàm file_get_contents, file_put_contentsSử dụng hàm file_get_contents để lấy nội dung của của url và file_put_contents để lưu lại nội dung thành file. $url = 'https://vinasupport.com/assets/img/vinasupport_logo.png'; $saveUrl = '/tmp/vinasupport_logo.png'; file_put_contents($saveUrl, file_get_contents($url)); Tham khảo Doc của PHP ở đây.
Yêu cầu tham số allow_url_fopen trong php.ini phải set là true 2. Hàm copycopy('https://vinasupport.com/assets/img/vinasupport_logo.png', '/tmp/vinasupport_logo.png'); Tham khảo Doc của hàm copy ở đây, nó cũng yêu cầu tham số allow_url_fopen trong php.ini phải set là true
3. Sử dụng fopenMột phương án khác là các bạn sử dụng hàm fopen, fread, fwrite để xử lý lưu file như bên dưới $in = fopen('https://vinasupport.com/assets/img/vinasupport_logo.png', "rb"); $out = fopen('/tmp/vinasupport_logo.png', "wb"); while ($chunk = fread($in,8192)) { fwrite($out, $chunk, 8192); } fclose($in); fclose($out); 4. Sử dụng CURLĐây là phương án xử lý lưu file tốt nhất và hiệu quả nhất hiện này với rất nhiều tùy chọn. set_time_limit(0); $image = 'https://vinasupport.com/assets/img/vinasupport_logo.png'; // Save image name $saveImageName = basename($image); // Save Image Path $saveImagePath = '/tmp/' . $saveImageName; // This is the file where we save the information $fp = fopen ($saveImagePath, 'w+'); // Here is the file we are downloading, replace spaces with %20 $ch = curl_init(str_replace(" ","%20",$image)); curl_setopt($ch, CURLOPT_TIMEOUT, 50); // write curl response to file curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // get curl response curl_exec($ch); curl_close($ch); fclose($fp); Nguồn: vinasupport.com |