فراخوانی فایل دیگر طوری که کدهای آنها ادغام شوند

payamix گفت:
2-برنامه بیاد از اون جمله ای که ما تعریف میکنیم تا جمله بعدی که ما تعریف میکنیم رو برای ما جدا بکنه و هر جا بخوایم نمایش بده (مثلن از تگ <body> تا تگ </body>) ...

میشه بگی چه جوری؟ آخه من تازه کارم
اگه لطف کنی کامل توضیح بدی ممنون می شم
 

NabiKAZ

Well-Known Member
سلام ،

برنامه رو فروختم 50 هزار تومن !!
اینم لینکش:
http://www.hotscripts.com/Detailed/53478.html

البته خودم یه تغییراتی توش دادم به اضافه یه فرم که آدرس ها رو باز کنه و کدی که باعث بشه آدرس بار تغییر نکنه ...

خوب بید؟! ;)

چاکرم
نبی
 

NabiKAZ

Well-Known Member
peyman_khafan گفت:
میشه بگی چه جوری؟ آخه من تازه کارم
اگه لطف کنی کامل توضیح بدی ممنون می شم

جواب میدیم کمی تحمل داشته باش!

اون لینکی که بالا گفتم کارش اینه که خروجی یک سایت رو آنالیز میکنه و هر جا که URL میبینه اولش آدرس سایت رو اضافه میکنه ، تا به این ترتیب مشکلی در نمایش عکسها و لینکها وجود نداشته باشه ، سپس اون رو روی سرور اجرا میکنه و مجدد خروجی اون رو به کاربر نمایش میده . درست مثل اینکه اون سایت روی سرور اجرا شده باشه (توجه کنید به همین دلیله که بار زیادی از سرور میکشه و بند ویت زیادی میکشه! و باز هم به همین دلیله که سایتهایی رو که فیلتر شدند رو هم باز میکنه !)

حالا کاری که شما باید انجام بدید اینه که تو این سورس بگردید جایی رو که خط به خط سورس رو میخونه پیدا کنید و بگید اگر اون خط با body> شروع شده بود از اینجا به بعد رو در متغییر خروجی بنویسه و این کار رو تا زمان رسیدن به خطی که با body/> شروع شده ادامه بده . برای اینکه بفهمی خط با چی شروع شده میتونی از عبارت های منظم (preg) استفاده کنید.

اگر جایی رو اشتباه گفتم ، اساتید تصحیح کنند.

موفق باشید
نبی
 

NabiKAZ

Well-Known Member
دوباره سلام ،
در مورد ثابت بودن url درون آدرس بار دوستان پیشنهاد استفاده از iframe رو داده بودند. اما صاحب کار گفت که frame ها با موتورهای جستجو مشکل دارند و خلاصه گفت frame نمیخوام ! گفتم خوب چیکار کنم ؟! .. یه راهی رو پیشنهاد داد که کمی دستو پا شکسته بود ولی خوب با کمی کار کردن روش تونستم روش خیلی خوبی برای اینکار پیدا کنم .

کاری که باید کرد اینه که زمانی که فایل داره اجرا میشه چک کنید که آیا پارامتر ورودی (مثلا url) مقدار دهی شده یا نه ؟ اگر مقدار دهی شده بود پس آدرس یه چیزی اضافه داره و باید پاک بشه ! برای اینکار از url استفاده نمیکنه و تنها کاری که میکنه اینه که اون رو در متغییر session ذخیره میکنه و بلافاصله توسط header خودش خودش رو بدون هیچ پارامتری اجرا میکنه ! حالا بخش دوم رو طوری مینویسیم که url وجود نداشته باشه ! اگر url وجود نداشته باشه نتیجتا باید همون متغییر session رو ملاک قرار بده و صفحه بدین ترتیب بدون هیچ پارامتر اضافی باز میشه .
نمیدونم تونستم منظورم رو برسونم یا خیر. به این کوچولو یه نگاه بندازید متوجه میشی:
PHP:
//code by Nabi
$url=$_REQUEST['url'];
session_start();
if (isset($url)) {
  session_unregister("x");		
  session_destroy();
  $x = $url;
  session_register("x");
  header("Location: ");	
}else{
  $url=$_SESSION['x'];
  session_unregister("x");		
  session_destroy();
  $x = "http://www.ahwazserver.com"; //inja masir siti ast ke bedone vared kardane url, baz mishavad.
  session_register("x");	
}
print $url;
این کد باعث میشه زمانی که شما به روش get پارامتر url رو مقدار دهی میکنید ، اول پارامتر از تو آدرس بار حذف میشه و سپس توی صفحه چاپ میشه !
به نظر من که خیلی جالبه !
امیدوارم مفید بوده باشه....
برای مثال اینو ببینید ، خیلی جالبه:
www.nabi.ir
(توجه کنید که برای ثابت موندن آدرس بار از هیچ فریمی استفاده نکردم و از روش بالا استفاده شده)

- به نظرتون راهی وجود داره مشابه اون فایل forward که بالا عملیات تصحیح عکسها و لینکها رو در سورس خروجی یک سایت انجام میداد. با این تفاوت کار بار زیادی رو سرور متحمل نشه ؟!

تشکر
نبی
 
آخرین ویرایش:
NabiKAZ گفت:
سلام ،

برنامه رو فروختم 50 هزار تومن !!
اینم لینکش:
http://www.hotscripts.com/Detailed/53478.html

البته خودم یه تغییراتی توش دادم به اضافه یه فرم که آدرس ها رو باز کنه و کدی که باعث بشه آدرس بار تغییر نکنه ...

خوب بید؟! ;)

چاکرم
نبی
ولی این اسکریپت روی هاست من کار نمی کنه. ارور می ده
من یکی دیگه پیدا کردم ولی این عکسارو نشون نمی ده
اینم لینکش : http://www.phpclasses.org/browse/package/1886.html
اگه یه نگاهی یهش بکنی ممنون می شم
 

NabiKAZ

Well-Known Member
سلام
شما اينجا رو ببيني هم کامل توضيح داده هم مثالهاي متعددي آورده :
http://php.morva.net/manual/en/function.eregi.php
http://php.morva.net/manual/en/function.ereg-replace.php

ولي در يک جمله بگم اين تابع مربوط به الگوسازي و تطابق رشته با الگو ها است، مثلا شما ميخواي ببيني رشته اي که کاربر وارد کرده قالب يک ايميل هست يا نه ، بايد يه قالب بسازي و رشته ايميل رو با اون قالب تطابق بدي ، در اين مثال بايد قالب رو طوري بسازي که ابتداي اون حداقل با يک کارکتر غير عددي آغاز شده باشه بعد الزاماً @ و بعد حداقل يک کارکتر و بعد الزماً نقطه وجود داشته باشه و مجدداً کارکتري اومده باشه ، اين قالبي که توضيح دادم رو اينجوري نشون ميدن :
PHP:
$pattern = "[code]^([0-9a-z]+)([0-9a-z\.-_]+)@([0-9a-z\.-_]+)\.([0-9a-z]+)[/code]";
اينجوري هم رشته با الگو تطابق داده ميشه:
PHP:
eregi($pattern, $string)
اگر مطابقت داشت مقدار true در غير اين صورت false رو برميگردونه .
و تابع preg_replace هم وجود داره که ضمن تطابق ميتونه رشته جديد رو جايگزين مکان خاصي از رشته کنه ...
البته من خيلي کلي گفتم و شايد من خوب توضيح ندم . تو اينترنت سرچ کني يا يه کتاب گير بياري مفصل تر و دقيق تر نوشته ...
شايد خيلي به بحث ربطي نداشت ولي خوب شايد بدرد بخوره .
حالا با اين روش ميشه فهميد که رشته با عبارت مشخص شروع شده يا خير ، يا اينکه شامل فلان رشته ميشه يا خير ...
البته در اين مورد خاص براي اينکه تگ body رو بشه پيدا کرد از اين دستور ساده هم ميشه استفاده کرد:
if (substr( trim($string) , 0 , 5)=="<body")) print "OK";

پ.ن: با اون لینک phpclasses.org هم مشکل دارم هنوز نتونستم ثبت نام کنم و لینکتو ببینم . بعد میبینم . ولی اگر دقیق بگی ارورش چیه شاید بشه کاری کرد. ورژن php رو سرور هم بگو...


نبي
 
آخرین ویرایش:
از توضیحاتت ممنون
php 4 هست
اینم ارورش هست :
کد:
Fatal error: Call to undefined function: curl_init() in /home/shiraz01/public_html/grab2/pf.php on line 181
 
آخرین ویرایش:

NabiKAZ

Well-Known Member
peyman_khafan گفت:
از توضیحاتت ممنون
php 4 هست
اینم ارورش هست :
کد:
Fatal error: Call to undefined function: curl_init() in /home/shiraz01/public_html/grab2/pf.php on line 181


سلام
شما باید CURL رو روی سرور فعال کنید. برای اینکار فایل php.ini رو ویرایش کنید و خط زیر رو پیدا کنید و سیمیکالون (;) ابتدای خط رو حذف کنید و دوباره apache رو ریستارت کنید.
کد:
;extension=php_curl.dll

احتمالا روی سرور شما دسترسی به این فایل ندارید و باید از admin سرور بخواهید اینکار رو براتون انجام بده

تشکر
نبی
 

جدیدترین ارسال ها

بالا