Cách giải quyết lỗi khi sử dụng hàm file_get_contents() và file() trong PHP

23/07/2012

php error

file_get_contents() là một hàm có chức năng là đọc nội dung từ 1 file và chuyển nó sang dạng chuỗi, nó thường được sử dụng để lấy nội dụng những trang web trên mạng, tuy nhiên có một số server đã vô hiệu hóa chức năng này , và khi đó nếu bạn sử dụng hàm file_get_contents() hay file() thì bạn sẽ gặp lỗi như thế này :

Warning: file_get_contents(http://izwebz.com/index.php) [function.file-get-contents]: failed to open stream: HTTP request failed!

Để giải quyết vấn đề này thì bạn có thể sử dụng cURL trong php để thay thế , đoạn code sau sẽ giúp bạn hiểu và giải quyết vấn đề này :

– Code trước khi sửa :

<?php
$file_contents = file_get_contents('http://example.com/');

// display file
echo $file_contents;
?>

– Code sau khi sửa :

<?php
$ch = curl_init();
$timeout = 5; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, 'http://example.com');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);

// display file
echo $file_contents;
?>

Mặc dù cách sử dụng cURL có vẻ hơi dài dòng và khó hiểu, nhưng nó có thể chạy tốt trên nhiều server khác nhau, bạn hãy tự tìm hiểu và khám phá xem sao nha.

Chúc các bạn thành công !

Chuyên Mục:

Bài viết được đăng bởi webmaster

Nếu các bạn thấy bài viết hữu ích thì giúp mình Like cái nhé !