مثلا لدي هذا الكود
<?php
$filesarray = array(
'http://45.32.233.5//file-1....
'http://45.32.233.5//file-2....
'http://45.32.233.5//file-3....
);
foreach($filesarray as $file){
if( strpos(file_get_contents($file),'class="vid-brahim"') !== false) {
echo $file;
break;
}
}
?>
الان اظن ان عندما يتم تنفيذ الكود يتم عمل ريكويست على تلك صفحات بي IP الخاص بي سيرفر هل يوجد طريقة لعم ريكويست على تلك صفحات بي IP زائر
التعليقات
جرب استخلاص عنوان الـ IP الخاص بالمستخدم أولا، ثم استخدمه في تكوين مسارات هاته الملفات، اما ما بعد ذلك فسيبقى نفس السيناريو.
لنقم مثلا بانشاء الدالة التي تقوم باستخراج هذا العنوان:
function getIp()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
ثم لنستعملها في تكوين هاته المسارات:
$filesarray = array( 'http://'.getIp().'//file-1.... 'http://'.getIp().'//file-2.... 'http://'.getIp().'//file-3.... );
شكرا على جوابك ليس هذا لذي اريده مثلا ريكويست الذي يتم ارساله الى هذه صفحة مثلا اثناء تنفيذ الكود
اريد ان تظن تلك صفحة على ان ريكويست اتاها من ip زائر وليس من ip سيرفر
جرب ارسال الطلبات إلى تلك المواقع من خلال جافاسكريبت (تقنية ajax)، بتلك الطريقة ستعمل 'ريكويست' بعنوان الـIP الخاص بالزائر.
أنا لا أعرف طريقة عمل ريكويست بإستعمال ip الزائر في curl PHP.
بالنسبة لطريقة javascript ajax، فيمكنك استعمال كود مثل هذا:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
var htmlString = this.response;
}
};
xhttp.open('GET', 'ضع الرابط هنا', true);
xhttp.send();
لكن طريقة ajax قد لا تعمل بسبب مشكلة http header (Access-Control-Allow-Origin)
فقط اريد استدعاء رابط الذي ساعمل عليه ريكوست من url مثلا
http://domain.com/&mylink=http://domain1.com
ويتم وضعه هنا
xhttp.open('GET', 'ضع الرابط هنا', true);
جرب هذا:
var xhttp = new XMLHttpRequest(),
fullURL = 'http://domain.com/&mylink=http://domain1.com',
parameterName = 'mylink';
if (fullURL.indexOf('?') === -1) {
fullURL = fullURL.replace('&', '?&');
}
var url = new URL(fullURL),
searchParams = new URLSearchParams(url.search);
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
var htmlString = this.response;
}
};
if ( searchParams.has(parameterName) ) {
console.log( searchParams.get(parameterName) );
xhttp.open('GET', searchParams.get(parameterName), true);
xhttp.send();
}
ولا تنسى طبعا أن تعدّل المتغيرين fullURL و parameterName