byvafa
01-16-2007, 07:31 PM
این مقاله بر اساس مطالب موجود در انجمنهای شاه کلید بوجود آمده و باز هم مرام دوستان در انجمن های شاه کلید را ستایش می کنم.
بهتره قبل از مطالعه این مقاله، اول مقاله علیرضا ( در این آدرس (http://forum.shahkey.com/showthread.php?tid=115) ) را نگاه کنید.
دوباره تاکید می کنم این یه مثاله واسه مقاله علیرضا، به کمک کدهایی که در زیر مشاهده می کنید میتونید سایت خودتونو استاتیک کنید ! تا از فشار های اضافه دیتابیس ها به سرورتون جلوگیری کنید .
فایل classname.php :
این کلاس نسبت به اونی که داخل فایل ها علیرضاهست یه تغییر کرده اونم در فنکشن tmp_parser هستش. کد قبلی می تونست تنها یک تک جای گزین کنه که اگر بخواهید با یک بار اجرای str_replace دو یا چند تگ را تغییر بدید باید از یه آرایه استفاده کنید ( همین طوری که در کد زیر مشاهده می کنید ).
<?php
class tmp {
function load_tmp_file( $file )
{
if( empty( $file ) )
{
return FALSE;
}
$open = fopen($file, "r");
if(!$open)
{
print 'Could not read the template file!';
return FALSE;
}
else
{
while($buffer = fread($open, 1000))
{
@$template .= $buffer;
}
return $template;
}
}
function tmp_parser($tmp, $fname, $fdata)
{
$find = array( "<shahkey-file-name>", "<shahkey-data>" );
$replace = array( $fname, $fdata );
$i = str_replace($find, $replace, $tmp);
return $i;
}
}
?>
فایل index.php :
تو این فایل ما دوتا فیلد داریم که اولی نام فایلی است که قرار ساخته بشه و دومی هم یه فیلد که اطلاعات اون بعدا به نمایش در میاد . اینجا ما اطلاعات رو از کاربر می گیریم بعد به کمک تابع fwrite و.. اونا رو بر اساس قالبمون داخل یه فایل ذخیره می کنیم . دقت کنید اگر فایلاتون رو روی سرور لینوکساجرا می کنید باید دسترسی های مربوط به فایل رو تنظیم کرده باشید ..
<html dir="rtl">
<head>
<!--
/**************************************
/ create by Alireza & mehdi
/ shahkey.com froums
/**************************************/
-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>shahkey.com</title>
</head>
<body>
<?php
/**************************************
/ create by Alireza & mehdi
/ shahkey.com froums
/**************************************/
include('classname.php');
$fname = $_POST[fname] . '.html';
$fdata = $_POST[fdata];
if ( isset ( $fdata ) ) {
$php = new tmp;
$tmp = $php->load_tmp_file('tmp.html');
$new_file = $php->tmp_parser($tmp, $fname, $fdata);
$open = fopen ($fname, "w");
if ($open) {
fwrite ($open, $new_file);
fclose ($open);
$worked = true;
} else $worked = false;
if ( $worked ) echo "you can see file in <a href=\"$fname\">Here</a>";
else echo "can't create file!";
}
?>
<form method="POST" action="index.php" name="form">
<p dir="rtl"><font face="Tahoma" style="font-size: 9pt">اسم فایل مورد نظر (
اسم فایل رو فارسی ندین ) :</font> <input type="text" name="fname" size="20"></p>
<p dir="rtl"><font face="Tahoma" style="font-size: 9pt">اطلاعاتی که می خواین توش ذخیره بشه
(فارسی، انگلیسی فرقی نداره) :</font> <textarea rows="6" name="fdata" cols="30"></textarea></p>
<p dir="rtl"><input style="font-family:tahoma" type="submit" value="ارسال"></p>
<p dir="rtl" align="center"><font face="Tahoma" style="font-size: 9pt">این
فایل به کمک دوستان در انجمن های <a href="http://www.shahkey.com">
http://www.shahkey.com</a> ایجاد شده است</font></p>
</form>
</body>
</html>
و بالا خره فایل tmp.html :
این فایل هم فایل تمپلیت ما هستش که ما از دوتا تک برای جایگزینی اطلاعات در اون استفاده کرده ایم ( <shahkey-file-name> و <shahkey-data> )
<html>
<head>
<!--
/**************************************
/ create by Alireza & mehdi
/ shahkey.com froums
/**************************************/
-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>New Page 3</title>
</head>
<body>
<div align="center">
<center>
<table border="1" cellspacing="1" width="76%" id="AutoNumber1" height="159">
<tr>
<td width="100%" height="155">
<p align="center">file name : <shahkey-file-name><p align="center">
file data : <font face="Tahoma" style="font-size: 9pt"><shahkey-data></font>
<p dir="rtl" align="center"> </p>
<p dir="rtl" align="center"><font face="Tahoma" style="font-size: 9pt">این فایل
به کمک دوستان در انجمن های <a href="http://www.shahkey.com">
http://www.shahkey.com</a> ایجاد شده است</font></p>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
منابع : shahkey.com
وبلاگ سالار کابلی
راهنما php
بهتره قبل از مطالعه این مقاله، اول مقاله علیرضا ( در این آدرس (http://forum.shahkey.com/showthread.php?tid=115) ) را نگاه کنید.
دوباره تاکید می کنم این یه مثاله واسه مقاله علیرضا، به کمک کدهایی که در زیر مشاهده می کنید میتونید سایت خودتونو استاتیک کنید ! تا از فشار های اضافه دیتابیس ها به سرورتون جلوگیری کنید .
فایل classname.php :
این کلاس نسبت به اونی که داخل فایل ها علیرضاهست یه تغییر کرده اونم در فنکشن tmp_parser هستش. کد قبلی می تونست تنها یک تک جای گزین کنه که اگر بخواهید با یک بار اجرای str_replace دو یا چند تگ را تغییر بدید باید از یه آرایه استفاده کنید ( همین طوری که در کد زیر مشاهده می کنید ).
<?php
class tmp {
function load_tmp_file( $file )
{
if( empty( $file ) )
{
return FALSE;
}
$open = fopen($file, "r");
if(!$open)
{
print 'Could not read the template file!';
return FALSE;
}
else
{
while($buffer = fread($open, 1000))
{
@$template .= $buffer;
}
return $template;
}
}
function tmp_parser($tmp, $fname, $fdata)
{
$find = array( "<shahkey-file-name>", "<shahkey-data>" );
$replace = array( $fname, $fdata );
$i = str_replace($find, $replace, $tmp);
return $i;
}
}
?>
فایل index.php :
تو این فایل ما دوتا فیلد داریم که اولی نام فایلی است که قرار ساخته بشه و دومی هم یه فیلد که اطلاعات اون بعدا به نمایش در میاد . اینجا ما اطلاعات رو از کاربر می گیریم بعد به کمک تابع fwrite و.. اونا رو بر اساس قالبمون داخل یه فایل ذخیره می کنیم . دقت کنید اگر فایلاتون رو روی سرور لینوکساجرا می کنید باید دسترسی های مربوط به فایل رو تنظیم کرده باشید ..
<html dir="rtl">
<head>
<!--
/**************************************
/ create by Alireza & mehdi
/ shahkey.com froums
/**************************************/
-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>shahkey.com</title>
</head>
<body>
<?php
/**************************************
/ create by Alireza & mehdi
/ shahkey.com froums
/**************************************/
include('classname.php');
$fname = $_POST[fname] . '.html';
$fdata = $_POST[fdata];
if ( isset ( $fdata ) ) {
$php = new tmp;
$tmp = $php->load_tmp_file('tmp.html');
$new_file = $php->tmp_parser($tmp, $fname, $fdata);
$open = fopen ($fname, "w");
if ($open) {
fwrite ($open, $new_file);
fclose ($open);
$worked = true;
} else $worked = false;
if ( $worked ) echo "you can see file in <a href=\"$fname\">Here</a>";
else echo "can't create file!";
}
?>
<form method="POST" action="index.php" name="form">
<p dir="rtl"><font face="Tahoma" style="font-size: 9pt">اسم فایل مورد نظر (
اسم فایل رو فارسی ندین ) :</font> <input type="text" name="fname" size="20"></p>
<p dir="rtl"><font face="Tahoma" style="font-size: 9pt">اطلاعاتی که می خواین توش ذخیره بشه
(فارسی، انگلیسی فرقی نداره) :</font> <textarea rows="6" name="fdata" cols="30"></textarea></p>
<p dir="rtl"><input style="font-family:tahoma" type="submit" value="ارسال"></p>
<p dir="rtl" align="center"><font face="Tahoma" style="font-size: 9pt">این
فایل به کمک دوستان در انجمن های <a href="http://www.shahkey.com">
http://www.shahkey.com</a> ایجاد شده است</font></p>
</form>
</body>
</html>
و بالا خره فایل tmp.html :
این فایل هم فایل تمپلیت ما هستش که ما از دوتا تک برای جایگزینی اطلاعات در اون استفاده کرده ایم ( <shahkey-file-name> و <shahkey-data> )
<html>
<head>
<!--
/**************************************
/ create by Alireza & mehdi
/ shahkey.com froums
/**************************************/
-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>New Page 3</title>
</head>
<body>
<div align="center">
<center>
<table border="1" cellspacing="1" width="76%" id="AutoNumber1" height="159">
<tr>
<td width="100%" height="155">
<p align="center">file name : <shahkey-file-name><p align="center">
file data : <font face="Tahoma" style="font-size: 9pt"><shahkey-data></font>
<p dir="rtl" align="center"> </p>
<p dir="rtl" align="center"><font face="Tahoma" style="font-size: 9pt">این فایل
به کمک دوستان در انجمن های <a href="http://www.shahkey.com">
http://www.shahkey.com</a> ایجاد شده است</font></p>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
منابع : shahkey.com
وبلاگ سالار کابلی
راهنما php