قام بعض موفري خدمات الاستضافة بإيقاف تشغيل خيارallow_url_fopen الخاص بـ PHP، لذا لا يمكنهم استخدام file_get_contents مباشرةً للحصول على محتوى صفحة الويب البعيدة. أي أنه يمكنك استخدام وظيفة أخرى حليقة.
فيما يليمثال لاستخدام الدالة file_get_contents
بطرق مختلفة لكتابة نفس الدالة: file_get_contents وcurl
:< ?php
$file_contents = file_get_contents('http://www.ccvita.com/');
صدى $file_contents؛
?>
مثال لاستخدام دالة التجعيد بدلاً من ذلك:
< ?php
$ch = curl_init();
مهلة $ = 5؛
curl_setopt ($ch، CURLOPT_URL، 'http://www.ccvita.com')؛
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch، CURLOPT_CONNECTTIMEOUT، $timeout)؛
$file_contents = curl_exec($ch);
curl_ Close($ch);
echo $file_contents;
?>
استخدم الدالة function_exists لتحديد ما إذا كان PHP يدعم إحدى الدالات أم لا. يمكنك بسهولة كتابة الدالة التالية
<?php
وظيفة vita_get_url_content($url) {
إذا (function_exists('file_get_contents')) {
$file_contents = file_get_contents($url);
} آخر {
$ch = curl_init();
مهلة $ = 5؛
curl_setopt ($ch، CURLOPT_URL، $url)؛
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch، CURLOPT_CONNECTTIMEOUT، $timeout)؛
$file_contents = curl_exec($ch);
تجعيد_إغلاق($ch);
}
إرجاع $file_contents؛
}
?>
في الواقع، لا تزال الوظيفة المذكورة أعلاه مفتوحة للمناقشة إذا قام مزود خدمة الاستضافة الخاص بك بإيقاف تشغيل كل من file_get_contents وcurl، فسيحدث خطأ في الوظيفة المذكورة أعلاه.