PDA

View Full Version : کامپایل فایل php در سرور و ذخیره آن به عنوان html برای کاهش ترافیک بانک



reza_shnia
پنج شنبه 05 شهریور 1388, 13:04 عصر
سلام
من برای اینکه ترافیک صفحه اصلی سایت به بانک فشار نیاره ، به ذهنم رسید که :
بعد از هربار تغییر در محتویات صفحه اول سایت ، نتیجه کامپایل شده فایل index.php را در یک فایل به اسم index.html ذخیره بکنم ، تا با این کار ترافیک بانک و بار پردازش را از روی سرور سبک کنم.
یک حسن دیگه ای که داره اینکه ، اگر به بانک سایت حمله بشه ، صفحه اصلی سایت خراب نمی شه.

حالا من برای اینکه فایل index.php را درسمت سرور کامپایل کنم و در فایل index.html ذخیره کنم از چه کدی استفاده کنم؟

s_salavati2002
پنج شنبه 05 شهریور 1388, 13:29 عصر
http://www.theukwebdesigncompany.com/articles/php-caching.php

reza_shnia
پنج شنبه 05 شهریور 1388, 13:42 عصر
سلام
از جوابی که دادی متشکرم ولی من یک مشکل دارم
من با زبان asp برنامه نویسی می کنم و خیلی از کد ها php سر در نمیارم.
و الان به خاطر یک پروژه مجبورم این کار رو با php انجام بدم.

برای همین ممنون می شم اگه یک کد آماده به من بدی که با اجرای اون کد (اجرای یک صفحه)
محتویات فایل index.php (به صورت کامپایل شده) را در index.html ذخیره بکنه.

خیلی ممنونم

s_salavati2002
جمعه 06 شهریور 1388, 14:02 عصر
یکم راجع به سایتت توضیح بده معلوم بشه که دقیقا سایتت چیه که بشه فهمید کش چقدر به دردت می خوره
اطلاعات سایتت چند وقت یکبار تغییر می کنه؟
می خوای خودت بنویسی یا از اسکریپت های آماده استفاده کنی؟
...

reza_shnia
جمعه 06 شهریور 1388, 15:44 عصر
1- سایت من ممکن هست هفته ای یک بار آپدیت بشه و زمانبدنی مشخصی نداره ، برای همین تهیه کش رو می خواهم دستی انجام بدم.
یعنی من می خواهم ، اپراتوری که داره با سایت کار می کنه ، بعد از اینکه اطلاعاتش رو وارد سایت کرد ، روی لینک "به روز رسانی سایت" کلیک بکنه و بعد کش تولید شود.

2- من برای راه اندازی سایتم از یک اسکریپت آماده استفاده می کنم.

با توجه به توضیحاتی که دادم ، من یک کد php می خواهم که با اجرای آن 2 کار را انجام دهد.

a) محتویات فایل index.php از سرور بگیره (به صورت کامپایل شده) و بعد مقدار


<a href="?را با

<a href="index.php?جایگزین نماید(replace)
تا با این کار ، لینک هایی که به صورت نسبی در صفحه وجود دارند نیز بدون مشکل کار کنند.

b)و در انتها ، محتویات بدست آمده را در فایل index.html ذخیره نمایید.

reza_shnia
شنبه 07 شهریور 1388, 20:49 عصر
مشکلم حل شد.
با این تابع کاری که می خواستم رو انجام دادم :



<?php
//پیدا کردن آدرس سایت و شاخه
// find out the domain:
$domain = $_SERVER['HTTP_HOST'];
// find out the path to the current file:
$path = $_SERVER['SCRIPT_NAME'];
// find out the QueryString:
//$queryString = $_SERVER['QUERY_STRING'];
// put it all together:
//$url = "http://" . $domain . $path . "?" . $queryString;
$url = "http://" . $domain . $path;
//بدست آوردن آدرس فایل index.php
$url = str_replace("update.php","index.php",$url);

$file = file_get_contents("$url");
$replacWhat = '<a href="?';
$replacWhith = '<a href="index.php?';
$file = str_replace($replacWhat,$replacWhith,$file);

$file_handle = fopen("index_speed.php", "w");
fwrite($file_handle, $file);
fclose($file_handle);

?>