当前位置: 编程技术>php
本页文章导读:
▪PHP 网页过期时间的控制代码
当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架.........
▪PHP 超链接 抓取实现代码
通用HTML标准超链接参数取得正则表达式测试 因为最近要做一个类似专业搜索引擎的东西,需要抓取网页的所有超链接。 大家帮忙测试一下子,下面的代码是否可以针对所有的标准超链接。.........
▪PHP 文件上传功能实现代码
个人认为PHP文件的上传和下载的思路差不多一样.也就是在代码中多了一个header语句 以下是详细的代码.仅供参考. 入口文件 代码如下: <html> <body> <form action="/blog_article/download.html" method="GET" en.........
[1]PHP 网页过期时间的控制代码
来源: 互联网 发布时间: 2013-11-30
当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中计中最好是后端来控制,所以最好的方法是程序来管理过期. 呵,我只会php,就用php写一个,别的程序也是一样。
见我下面的程序,呵呵,5分钟过期.
<?php
$headers = apache_request_headers();
$client_time = (isset($headers['If-Modified-Since']) ? strtotime($headers['If-Modified-Since']) : 0);
$now=gmmktime();
$now_list=gmmktime()-60*5;
if ($client_time<$now and $client_time >$now_list){
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $client_time).' GMT', true, 304);
exit(0);
}else{
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $now).' GMT', true, 200);
}
?>
见我下面的程序,呵呵,5分钟过期.
代码如下:
<?php
$headers = apache_request_headers();
$client_time = (isset($headers['If-Modified-Since']) ? strtotime($headers['If-Modified-Since']) : 0);
$now=gmmktime();
$now_list=gmmktime()-60*5;
if ($client_time<$now and $client_time >$now_list){
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $client_time).' GMT', true, 304);
exit(0);
}else{
header('Last-Modified: ‘.gmdate('D, d M Y H:i:s', $now).' GMT', true, 200);
}
?>
[2]PHP 超链接 抓取实现代码
来源: 互联网 发布时间: 2013-11-30
通用HTML标准超链接参数取得正则表达式测试
因为最近要做一个类似专业搜索引擎的东西,需要抓取网页的所有超链接。
大家帮忙测试一下子,下面的代码是否可以针对所有的标准超链接。
测试代码如下:
<?php
// --------------------------------------------------------------------------
// File name : Noname1.php
// Description : 通用链接参数获取正则表达式测试
// Requirement : PHP4 (http://www.php.net)
// Copyright(C), HonestQiao, 2005, All Rights Reserved.
// Author: HonestQiao (honestqiao@hotmail.com)
// 参数说明:
// $strSource: 包含标准链接的HTML网页
// $strResult: 处理的结果
// 附加说明:
// 标准链接,使用<a></a>形势包含的链接
// --------------------------------------------------------------------------
$strSource = <<<HTML
<a href=/blog_article/1.htm>t1</a>/index.html
<a href='/blog_article/2.htm'>t2</a>
<a href="/blog_article/3.htm">t3</a>
<a href=/blog_article/4.htm /<a.*?(?: \\t\\r\\n)?href=/blog_article/[/index.html'"]?(.+?)[\'"]?(?:(?: \\t\\r\\n)+.*?)?>(.+?)<\/a.*?>/sim', $strSource, $strResult, PREG_PATTERN_ORDER);
for($i = 0; $i < count($strResult[1]); $i++)
{
printf("%d href=(%s) title=(%s) \n", $i, $strResult[1][$i], $strResult[2][$i]);
}
?>
如果您的测试数据,符合标准链接,但是此处没有被处理出来,请告诉我测试数据,以及你的测试环境。
谢谢。
因为最近要做一个类似专业搜索引擎的东西,需要抓取网页的所有超链接。
大家帮忙测试一下子,下面的代码是否可以针对所有的标准超链接。
测试代码如下:
代码如下:
<?php
// --------------------------------------------------------------------------
// File name : Noname1.php
// Description : 通用链接参数获取正则表达式测试
// Requirement : PHP4 (http://www.php.net)
// Copyright(C), HonestQiao, 2005, All Rights Reserved.
// Author: HonestQiao (honestqiao@hotmail.com)
// 参数说明:
// $strSource: 包含标准链接的HTML网页
// $strResult: 处理的结果
// 附加说明:
// 标准链接,使用<a></a>形势包含的链接
// --------------------------------------------------------------------------
$strSource = <<<HTML
<a href=/blog_article/1.htm>t1</a>/index.html
<a href='/blog_article/2.htm'>t2</a>
<a href="/blog_article/3.htm">t3</a>
<a href=/blog_article/4.htm /<a.*?(?: \\t\\r\\n)?href=/blog_article/[/index.html'"]?(.+?)[\'"]?(?:(?: \\t\\r\\n)+.*?)?>(.+?)<\/a.*?>/sim', $strSource, $strResult, PREG_PATTERN_ORDER);
for($i = 0; $i < count($strResult[1]); $i++)
{
printf("%d href=(%s) title=(%s) \n", $i, $strResult[1][$i], $strResult[2][$i]);
}
?>
如果您的测试数据,符合标准链接,但是此处没有被处理出来,请告诉我测试数据,以及你的测试环境。
谢谢。
[3]PHP 文件上传功能实现代码
来源: 互联网 发布时间: 2013-11-30
个人认为PHP文件的上传和下载的思路差不多一样.也就是在代码中多了一个header语句
以下是详细的代码.仅供参考.
入口文件
<html>
<body>
<form action="/blog_article/download.html" method="GET"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="FileName" id="Fileid" value="<?php echo $_FILES["file"]["name"];?>" />
<h1></h1>
<input type="submit" name="submit" value="download" />
</form>
</body>
</html>
php写的处理文件
<?php
if( empty($_GET['FileName'])){
echo'<script> alert("非法连接 !"); location.replace ("./fileload.html") </script>'; exit();
}
$file_name=$_GET['FileName'];//得到要下载的文件
if (!file_exists($file_name)) { //检查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen( $file_name,"r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
//Header("Accept-Ranges: bytes");
//Header("Accept-Length: ".filesize( $file_name));
//Header("Content-Disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,filesize( $file_name));
fclose($file);
exit();
}
?>
以上代码是自己在网上找的,可是都不很齐全.记过了一段时间的调试与修改.终于把功能实现了.由于太兴奋了第一时间拿来和大家分享了.
以下是详细的代码.仅供参考.
入口文件
代码如下:
<html>
<body>
<form action="/blog_article/download.html" method="GET"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="FileName" id="Fileid" value="<?php echo $_FILES["file"]["name"];?>" />
<h1></h1>
<input type="submit" name="submit" value="download" />
</form>
</body>
</html>
php写的处理文件
<?php
if( empty($_GET['FileName'])){
echo'<script> alert("非法连接 !"); location.replace ("./fileload.html") </script>'; exit();
}
$file_name=$_GET['FileName'];//得到要下载的文件
if (!file_exists($file_name)) { //检查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen( $file_name,"r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
//Header("Accept-Ranges: bytes");
//Header("Accept-Length: ".filesize( $file_name));
//Header("Content-Disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,filesize( $file_name));
fclose($file);
exit();
}
?>
以上代码是自己在网上找的,可是都不很齐全.记过了一段时间的调试与修改.终于把功能实现了.由于太兴奋了第一时间拿来和大家分享了.
最新技术文章: