السلام عليكم و رحمة الله و بركاته
البعض بل الكثير منا صادفه سيرفرات تمنع استخدام fopen و file و readfile الخ
و من كم يوم قام مدير سيرفري بمنعها و لاحظت احطاء في برمجيتي ثم ذكر لي انها تشكل خطر على السيرفر و كانت الداله المستخدمة readfile (مع اني اقرأ ملف من الموقعي و ليس خارجي) و لكن قال لي ابحث عن داله مشابه تقوم بالعمل بدلا منها لخطورة دالات file
ملاحظة : 90% من الاستضافات الانجليزية لا تعمل لديها file() و ملحقاتها
بعد البحث توصلت الى داله ممتازة اسمها CURL
و هذه نبذه عن كيفية الاستخدام
جلب صفحة ما بنفس طريقة file
كود PHP:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://ps-revolution.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
?>
كود يقوم بنفس عمل file_get_contents()
كود PHP:
<?php
$ch = curl_init();
$timeout = 5; // الوقت الاقصى لإيقاف العملية 0 تعني عدم قطعه
curl_setopt ($ch, CURLOPT_URL, 'http://ps-revolution.com');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
// إصدار النتيجه
echo $file_contents;
?>
كود يقوم بعمل داله file()
بدل هذا
كود PHP:
<?php
$lines = file('http://ps-revolution.com/');
// طباعة سطر سطر
foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}
?>
استخدم
كود PHP:
<?php
$ch = curl_init();
$timeout = 5; // الوقت الاقصى لإيقاف العملية 0 تعني عدم قطعه
curl_setopt ($ch, CURLOPT_URL, 'http://ps-revolution.com');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
$lines = array();
$lines = explode("\n", $file_contents);
// طباعة سطر سطر
foreach($lines as $line_num => $line) {
echo "Line # {$line_num} : ".htmlspecialchars($line)."<br />\n";
}
?>
بالتوفيق جميعا