利用fopen函数采集新闻页面内容保存到本地函数

 更新时间:2016年11月25日 15:55  点击:2141

 <?
/ / PHP的新闻抓取由Neil Moomey,。
/ /你可以自由的使用此代码作为您的愿望。
/ /请确保您可以从任何网站,你抓从标题许可。
/ /你可能需要写上您的服务器上的标题,文件以加快速度。

/ /抓斗从文件或网页的源代码网站
if(!($myFile=fopen(http://www.111cn.net,"r")))
{
echo "The news interface is down for maintenance.";
exit;
}
while(!feof($myFile))
{
// Read each line and add to $myLine
$myLine.=fgets($myFile,255);
}
fclose($myFile);
/ /解压缩一切的开始和结束之间。您需要包括这些行
/ /在标题或选择一些独特的子在HTML庆祝开始
/ /和新闻结束。


$start="<hr align=";
$end="建立镜像";
$start_position=strpos($myLine, $start);
$end_position=strpos($myLine, $end)+strlen($end);
$length=$end_position-$start_position;
$myLine=substr($myLine, $start_position, $length);
// Display HTML
echo $myLine;
?>

本程序可以显示WEB目录下的所有目录及后缀为php,php3,htm,html的文件名,并可以查看源文件,很适合作为编写php程序的工具。

第一个文件名为 phplist.inc

 代码如下 复制代码
<?
global $htmlroot;
$htmlroot="/web/html"; //"/web/html"是apache的文档根目录,用户可以根据自己的配置修改
?>

第二个文件名为 codeshow.php

 代码如下 复制代码
<?
highlight_file($filename); //高亮显示文件代码
?>

这个是主程序名为 phplist.php

 代码如下 复制代码
<?
require ("phplist.inc");
if ($rootpath=="") {$rootpath=$htmlroot;}
function filelist($pathname){ //遍历所有的文件和目录,$pathnam为起始目录,$searchs为搜索关键字
global $htmlroot;
if (eregi("[/][.][.]$",$pathname)) {
$temp=split("[/]",$pathname);
$pathname="";
for ($tt=1;$tt<(count($temp)-2);$tt++)
$pathname=$pathname."/".$temp[$tt];
}
echo $pathname."
";
$handle=opendir($pathname); //打开目录
if (@chdir($pathname)) { //cd 进入目录,若无权限则不进入
$file = readdir($handle); //读出所有当前目录下的元素名,第一次读出为‘。’,指上层目录
while ($file = readdir($handle)) { //若有元素就进行以下处理
$fname=$pathname."/".$file; //将元素名与当前目录名结合组成完整的文件名,并赋值给$fname
if ((is_file($file)) and (ereg(".php[3]{0,1}$",$file) or ereg(".htm[l]{0,1}$",$file))) //判断是否为文件并且是否以.php和.php3结尾
{
$temppp=split($htmlroot,$fname);
echo "<a href=$temppp[1]>".$file."</a>   ".filesize($file)."bytes      <a href=codeshow?filename=$fname><font size=-1>源文件</font></a>
";
//findinfile($fname,$searchs); //调用findinfile函数
}
elseif (is_dir($fname)) { //判断是否为目录
linkres($fname);
//filelist($fname,$searchs);} //递归调用filelist函数
}
}
chdir(".."); //结束当前递归,返回上层
}
closedir($handle); //关闭当前目录读取
}
//
function linkres($filename){
$tpath=split("/web/html",$filename);
$turepath=$tpath[1];
ereg("[^\/~]{0,}$",$filename,$res);
//$ft=filetitle($filename);
//if ($ft=="") $ft="无标题";
echo "<a href=phplist.php?rootpath=$filename>".$res[0]."</a>   <dir>
";
}
//
filelist($rootpath);

?>

本文章提供这一款php mysql 分页代码与分页代码是一款从创建数据库与查询数据到把数据进行分页,比较适合于php初学者,并且这款分页代码实用简单容易。

<?
/*存放贴子的表结构------------------------------------------------------

 代码如下 复制代码
create table bbsrow(
bbsrow_id int(6) not null auto_increment, //贴子ID号
bbsrow_auth varchar(20) not null, //贴子作者
bbsrow_parentid int(6), //贴子的父亲贴子ID号,如为首发贴则为空
bbsrow_title varchar(200) not null, //贴子标题
bbsrow_returncount int(3), //贴子的回复贴数,如果没有回贴则为空
primary key (bbsrow_id)


);
-----------------------------------------------------------------------------*/


//显示儿子贴的递归函数--------------------------------------------------

 代码如下 复制代码
function showchildren($parent_id){
global $connect_id;
$query="select * from bbsrow where bbsrow_parentid='" . $parent_id . "'";
$result_top=mysql_query($query,$connect_id);
echo "<ul> ";
while($myrow_child=mysql_fetch_row($result_top)){
echo "<li>";
echo $myrow_child[0];
echo $myrow_child[1];
echo $myrow_child[2];
echo $myrow_child[3];
echo $myrow_child[4] . " ";
//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
if($myrow_child[4]!=''){
showchildren($myrow_child[0]);
}
}
echo "</ul>";
}

//----------------------------------------------------------------------

//连接数据库并将所有首发贴放到$mainrow数组里----------------------------

 代码如下 复制代码

$connect_id=mysql_connect("localhost","test","test") or die("无法连接数据库");
mysql_select_db("bbs") or die("无法选择数据库");
$query="select * from bbsrow where bbsrow_parentid=''";
$result=mysql_query($query,$connect_id);

$i=0;
while($myrow=mysql_fetch_row($result)) {
$mainrow[$i][0]=$myrow[0];
$mainrow[$i][1]=$myrow[1];
$mainrow[$i][2]=$myrow[2];
$mainrow[$i][3]=$myrow[3];
$mainrow[$i][4]=$myrow[4];
$i++;
}
mysql_free_result($result);
//----------------------------------------------------------------------

//开始构建分页显示------------------------------------------------------

if($currentpage!=""){
$page=$currentpage;
}
else{
$page=0;
}

$pagesize=10;//每页显示的首发贴数!
$start=$page*$pagesize;
$end=$start+$pagesize;
if($end>$i) $end=$i;
$totalpage=$i/$pagesize;


$info=" 共有" . $i . "条纪录,分" . ceil($totalpage) . "页,当前为第" . ($page+1) . "/" . ceil($totalpage) . "页
";
echo $info;

if($page>0) $pagestr="<a href=bbsrow.php4?currentpage=" . ($page-1) . ">上一页</a>";
$pagestr=$pagestr . " [第 ";

for($i=0;$i<$totalpage;$i++){
if($i!=$page){
$pagestr=$pagestr . " <a href=bbsrow.php4?currentpage=" . $i . ">" . ($i+1) . "</a> ";
}
else{
$pagestr=$pagestr . " " . ($i+1) . " ";
}
}

$pagestr=$pagestr . "页]";

if($page<$totalpage-1) $pagestr=$pagestr . "<a href=bbsrow.php4?currentpage=" . ($page+1) .">下一页</a><p> ";

echo $pagestr;

//----------------------------------------------------------------------

//开始分级显示----------------------------------------------------------

 代码如下 复制代码
echo "<ul> ";
for($i=$start;$i<$end;$i++){
echo "<li> ";
echo $mainrow[$i][0];
echo $mainrow[$i][1];
echo $mainrow[$i][2];
echo $mainrow[$i][3];
echo $mainrow[$i][4] . " ";
//如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴
if($mainrow[$i][4]!=''){
showchildren($mainrow[$i][0]);
}
}
echo "</ul> ";

//----------------------------------------------------------------------?>

ServerName www.111cn.net 
  ServerAlias *.111cn.net 111cn.net 
  RewriteEngine on 
  RewriteCond %{HTTP_HOST} ^((?!www)w)+.111cn.net$ 
  RewriteRule ^/?$ /domainAction.action?subDomain=%0 [L,PT]

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
</head>
<body>
<?php
$_POST['username'] = $username;
$_POST['admin'] = $admin;
$_POST['gender'] = $gender;
$_POST['address'] = $address;
$_POST['hometel'] = $hometel;
$_POST['hp'] = $hp;
$_POST['email'] = $email;
$_POST['course'] = $course;
$_POST['year'] = $year;
$_POST['path'] = $path;
$_POST['title'] = $title;
$_POST['supervisor'] = $supervisor;
 
echo "Data has been submitted";
 
function Enter_New_Entry($username,$admin,$gender,$address,$phone,$hp,$email,$cou rse,$year,$path,$title,$supervisor) {
 
  
   if(!$cnx = odbc_connect( 'FYP' , 'root', '' ))die("error with connection");
    $SQL_Exec_String = "Insert Into rank (username,admin,gender,address,hometel,hp,email,course,year,path,title,s upervisor)
            Values ('$username','$admin','$gender','$address','$phone','$hp','$email','$cou rse','$year','$path','$title','$supervisor')";
 
    $cur= odbc_exec( $cnx, $SQL_Exec_String );
    if (!$cur) {
        Error_handler( "Error in odbc_exec( no cursor returned ) " , $cnx );
    }
 
    odbc_close( $cnx);
}
Enter_New_Entry($username,$admin);
?>
 
</body>
</html>

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • PHP传值到不同页面的三种常见方式及php和html之间传值问题

    在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式。接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考。有什么意见也希望大...2015-11-24
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • jQuery实现切换页面过渡动画效果

    直接为大家介绍制作过程,希望大家可以喜欢。HTML结构该页面切换特效的HTML结构使用一个<main>元素来作为页面的包裹元素,div.cd-cover-layer用于制作页面切换时的遮罩层,div.cd-loading-bar是进行ajax加载时的loading进...2015-10-30
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • 解决vue刷新页面以后丢失store的数据问题

    这篇文章主要介绍了解决vue刷新页面以后丢失store的数据问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-12
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

    最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21