在这里让我们一起学习,一起提高!
在你的程序初始化时使用如下代码:
<?php
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
$Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUrl, "/"));
$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}
echo '假静态:$_GET变量<br />';
print_r($_GET);
?>
然后p
hp中调用$_GET变量就像平常一样了。
连接使用方式:
****.php/param1|1234@param2|4321
和****.php?param1=1234¶m2=4321一样。
<?php
$Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
$Php2Html_UrlString = str_replace("/", "", strrchr($Php2Html_FileUrl, "/"));
$Php2Html_UrlQueryStrList = explode("@", $Php2Html_UrlString);
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explode("|", $Php2Html_UrlQueryStr);
$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}
echo '假静态:$_GET变量<br />';
print_r($_GET);
?>
然后p
hp中调用$_GET变量就像平常一样了。
连接使用方式:
****.php/param1|1234@param2|4321
和****.php?param1=1234¶m2=4321一样。
看到很多朋友在各个地方发帖问php生成静态文章系统的方法,以前曾做过这样一个系统,遂谈些看法,以供各位参考。好了,我们先回顾一些基本的概念。
一,php脚本与动态页面。
php脚本是一种服务器端脚本程序,可通过嵌入等方法与html文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理。无论以何种方式,它的基本原理是这样的。由客户端提出请求,请求某一页面 -----> web服务器引入指定相应脚本进行处理 -----> 脚本被载入服务器 -----> 由服务器指定的php解析器对脚本进行解析形成html语言形式 ----> 将解析后的html语句以包的方式传回给浏览器。由此不难看出,在页面发送到浏览器后,php就不存在了,已被转化解析为html语句。客户请求为一动态文件,事实上并没有真正的文件存在在那里,是php解析而成相对应的页面,然后发送回浏览器。这种页面处理方式被称为“动态页面”。
二,静态页面。
一,php脚本与动态页面。
php脚本是一种服务器端脚本程序,可通过嵌入等方法与html文件混合,也可以类,函数封装等形式,以模板的方式对用户请求进行处理。无论以何种方式,它的基本原理是这样的。由客户端提出请求,请求某一页面 -----> web服务器引入指定相应脚本进行处理 -----> 脚本被载入服务器 -----> 由服务器指定的php解析器对脚本进行解析形成html语言形式 ----> 将解析后的html语句以包的方式传回给浏览器。由此不难看出,在页面发送到浏览器后,php就不存在了,已被转化解析为html语句。客户请求为一动态文件,事实上并没有真正的文件存在在那里,是php解析而成相对应的页面,然后发送回浏览器。这种页面处理方式被称为“动态页面”。
二,静态页面。
<?php
/**
------------------------
Function: php2html($in_Url, $out_htmlFile, $out_logFile)
------------------------
@ Description: 生成静态函数
@ Author 眼睛5462
@ QQ: 332458700 [E-mail:yanjing5462@my55.com.cn]
@ Copyright: Copyright (c) 2006 - 2011 MY55.com.cn
@ Create: 2006-08-01
@ Modify: 2006-10-27
@ 提示:这里要用到的路径为服务器绝对路径; 若给定的路径目录不存在则自动创建
=======================================================================================
@ Example:php2html("http://www.baidu.com", "/www/html/index.html", "/www/log/log.txt");
*/
// {{{ contents
function php2html($in_Url, $out_htmlFile, $out_logFile)
{
$htmlContent = file_get_contents($in_Url); //将文件读入 $htmlContent 变量
/**
* @检查要生成的文件是否存在
*/
if (is_file($out_htmlFile))
{
@unlink($out_htmlFile);//若文件已存在,则删除
}
/**
* @ 创建目录 网页部分
*/
$dir_array = explode("/", dirname($out_htmlFile));
chdir("/"); //改变目录到根
for($i=1;$i<count($dir_array);$i++)
{
if(is_dir($dir_array[$i]))
{
chdir($dir_array[$i]);
}
else
{
mkdir($dir_array[$i]);
chdir($dir_array[$i]);
}
}
/**
* @ 创建目录 日志部分
*/
$dir_array = explode("/", dirname($out_logFile));
chdir("/"); //改变目录到根
for($i=1;$i<count($dir_array);$i++)
{
if(is_dir($dir_array[$i]))
{
chdir($dir_array[$i]);
}
else
{
mkdir($dir_array[$i], 0777);
chdir($dir_array[$i]);
}
}
$handle = fopen($out_htmlFile, "w"); //打开文件指针,创建文件
$logHandle = fopen ($out_logFile, "a+"); //打开日志文件
/**
* @检查目录是否可写
*/
if (!is_writable($out_htmlFile))
{
echo "文件:".$out_htmlFile."不可写,请检查目录属性后重试";
exit();
}
if (!is_writable($out_logFile))
{
echo "文件:".$out_logFile."不可写,请检查目录属性后重试";
exit();
}
/**
* @写入文件
*/
if (!fwrite ($handle, $htmlContent))
{
$logMsg = "写入文件" . $out_htmlFile . "失败";
}
else
{
$logMsg = "创建文件" . $out_htmlFile . "成功";
}
/**
* @记录日志
*/
$logMsg .= "(".date("Y-m-d H:i:s") .")\r\n";
fwrite ($logHandle, $logMsg);
fclose($logHandle); //关闭日志指针
fclose ($handle); //关闭指针
}
// }}}
php2html("http://www.baidu.com", dirname(__FILE__)."/yanjing_html/index.html", dirname(__FILE__)."/yanjing_log/log.txt");
echo "成功";
?>
方案1:
/// <summary>
/// 传入URL返回网页的html代码
/// </summary>
/// <param name="Url">URL</param>
/// <returns></returns>
public static string getUrltoHtml(string Url)
{
errorMsg = "";
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
// Get the response instance.
System.Net.WebResponse wResp =wReq.GetResponse();
// Read an HTTP-specific property
//if (wResp.GetType() ==HttpWebResponse)
//{
//DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified;
//}
// Get the response stream.
System.IO.Stream respStream = wResp.GetResponseStream();
// Dim reader As StreamReader = New StreamReader(respStream)
System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312"));
return reader.ReadToEnd();
}
catch(System.Exception ex)
{
errorMsg = ex.Message ;
}
return "";
}
你可以用这个函数获取网页的客户端的html代码,然后保存到.html文件里就可以了。
/// <summary>
/// 传入URL返回网页的html代码
/// </summary>
/// <param name="Url">URL</param>
/// <returns></returns>
public static string getUrltoHtml(string Url)
{
errorMsg = "";
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
// Get the response instance.
System.Net.WebResponse wResp =wReq.GetResponse();
// Read an HTTP-specific property
//if (wResp.GetType() ==HttpWebResponse)
//{
//DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified;
//}
// Get the response stream.
System.IO.Stream respStream = wResp.GetResponseStream();
// Dim reader As StreamReader = New StreamReader(respStream)
System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312"));
return reader.ReadToEnd();
}
catch(System.Exception ex)
{
errorMsg = ex.Message ;
}
return "";
}
你可以用这个函数获取网页的客户端的html代码,然后保存到.html文件里就可以了。
简单点,今天涉及到了这个方面的问题,动手吧!
上网一找,我靠,一堆写得非常好的文章,但是我觉得写得太过AJAZ的!
把思路整理一下,其实就很简单
首先建给模版
<HTML><TITLE>{title}</TITLE> <BODY>{ file }</BODY> </HTML>
上网一找,我靠,一堆写得非常好的文章,但是我觉得写得太过AJAZ的!
把思路整理一下,其实就很简单
首先建给模版
<HTML><TITLE>{title}</TITLE> <BODY>{ file }</BODY> </HTML>