php简单检测404页面的方法示例
本文实例讲述了php简单检测404页面的方法。分享给大家供大家参考,具体如下:
需求描述:
检测给定的url是否是404页面。
方式一:
使用file_get_contents函数,可以读取web中的网页或者文件。
如果遇到404页面,则会返回false,否则返回相应的网页内容。
使用该函数有两点需要注意:
1.file_get_contents在读取不存在的页面时,会报一个warning,所以最好对这里的警告进行屏蔽操作。
2.file_get_contents默认会读取页面的所有内容,然后再返回。为了提交读取速度,我们可以限制只读取10个字节就返回。
<?php $res = @file_get_contents("http://www.baidu.com",null,null,0,10); if($res){ echo $res; }else{ echo "404"; }
方式二:
我们要判断该页面是否是404页面,这个可以通过网页返回的状态码来判断。
使用该方法在页面404的时候并不会报警告。
因为我们只需要状态码,所以我们不需要读取网页的内容,可以通过设置CURLOPT_NOBODY参数,不读取网页内容,来缩短程序运行的时间。
<?php $ch = curl_init("http://www.baidu.com"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_NOBODY, 1); $res = curl_exec($ch); $code = curl_getinfo($ch,CURLINFO_HTTP_CODE); if($code == 404){ echo "404"; }else{ echo $code; }
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php socket用法总结》、《php字符串(string)用法总结》、《PHP数学运算技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
我在服务器上有每天切割nginx日志的习惯,所以针对每天各大搜索引擎来访,总能记录一些404页面信息,传统上我只是偶尔分析下日志,但是对于很多日志信息的朋友,人工来筛选可能不是一件容易的事情,这不我个人自己慢慢研究了一点点,针对谷歌.百度.搜搜.360搜索.宜搜.搜狗.必应等搜索引擎的404访问生成为一个txt文本文件,直接上代码test.php. 复制代码 代码如下: <?php //访问test.php?s=google $domain='http://www.jb51.net'; $spi
-
thinkphp框架下404页面设置 仅三步
404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 在很多网站中都会有使用404页面的时候,在ThinkPHP框架中该如何设置呢,接下来我介绍其中一种方法,具体内容如下 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.class.php,其代码如下: <?php namespace HomeController; use ThinkController; class EmptyController ext
-
php使用curl判断网页404(不存在)的方法 原创
本文实例讲述了php使用curl判断网页404(不存在)的方法.分享给大家供大家参考,具体如下: <?php /* php使用curl判断404 * Created on 2016-6-22 * Writer www.jb51.net */ function chkurl($url){ $handle = curl_init($url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($handle, CURLOP
-
PHP header()函数使用详细(301、404等错误设置)
如果您刚刚开始学习PHP,可能有许多函数需要研究,今天我们就来学习一下PHP Header()的使用方法,更多的使用说明,请您参照PHP中文手册,下面是关于header函数的详细使用说明 header实现404无法找到页面 复制代码 代码如下: Header("HTTP/1.1 404 Not Found"); 针对apache配置中的ErrorDocument 404 /404.php功能,把nginx配置中的 复制代码 代码如下: error_page 404 /404.php;
-
ThinkPHP访问不存在的模块跳转到404页面的方法
首先在ACTION中新建一个文件EmptyAction.class.php,其代码如下: <?php class EmptyAction extends Action{ function _empty(){ header("HTTP/1.0 404 Not Found");//使HTTP返回404状态码 $this->display("Public:404"); } } ?> 使用apache服务器的情况下需在apache中的网站配置中加入 Err
-
php 404错误页面实现代码
复制代码 代码如下: <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "jb51.net"; # 设置URL,注意没有后划线 / $docroot = "http://jb51.net"; # 设置错误信息的字体 $fontface = "Verdana"; # 设置404页面的字体大小 $fontsize = "2"; # 设置404页面的背景颜色,缺省是白色 $bgcolor
-
php 定义404页面的实现代码
核心代码: 复制代码 代码如下: @header("http/1.1 404 not found"); @header("status: 404 not found"); echo 'echo 404'; exit(); 如果需要加载404页面可以如下代码,主要是注意文件路径 复制代码 代码如下: @header("http/1.1 404 not found"); @header("status: 404 not found"
-
ThinkPHP 404页面的设置方法
在很多网站中都会有使用404页面的时候,在ThinkPHP框架中该如何设置呢,接下来我介绍其中一种方法 1.首先要在Lib/Action 下建立EmptyAction.class.php模块 内容如下: 复制代码 代码如下: <?php /* * @author rocky * @date 20141021 * @desc 空模块404等错误 * */ class EmptyAction extends CommonAction { function _empty(){
-
php 智能404跳转代码,适合换域名没改变目录的网站
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu
-
用php来改写404错误页让你的页面更友好
404错误,很多人都知道,如果要访问的url不存在的时候就读取显示这个页面.以往在处理404方面我们通常的做法是要麽简单写几行字,而有心人士或许还会对其稍加美化,另外一少部份想投机取巧的傢伙甚至用meta标籤做延时转向,仅此而已,其实404还可以帮我们做很多事,这就是今天我们要讨论的重点了. 首先我来说明一下我的404究竟都能帮我做哪些事情: 1.他可以告诉我何时来自哪裡的用户要访问我哪个URL结果失败了. 2.他能告诉我对方为何要访问这个URL,并帮助我优化网站 3.他能告诉我对方的IP地址
-
thinkPHP5框架设置404、403等http状态页面的方法
本文实例讲述了thinkPHP5框架设置404.403等http状态页面的方法.分享给大家供大家参考,具体如下: 要做到这一点,首先要在你的配置文件将调试模式关闭(在开发阶段要打开): 'app_debug' => false, 然后在配置文件 config.php 中配置404等页面的模板路径(APP_PATH指的是application路径): 'http_exception_template' => [ // 定义404错误的重定向页面地址 404 => APP_PATH.'404
-
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
本文实例讲述了ThinkPHP3.2.3框架实现的空模块.空控制器.空操作,跳转到错误404页面.分享给大家供大家参考,具体如下: [演示准备] 首先下载了一个ThinkPHP3.2.3,目录结构如下:(只有Home模块.Index控制器.index操作方法) 然后找了一个简易的错误404页面404.html放到了根目录: [空模块] 访问一个不存在的模块Admin,错误提示: 修改根目录下 ThinkPHP/Library/Think/Dispatcher.class.php 178行代码:
随机推荐
- aspx实现的 jquery ui 的 flexgrid demo
- SQL Server数据库入门学习总结
- oracle 的表空间实例详解
- python中获得当前目录和上级目录的实现方法
- C#使用正则表达式过滤html标签
- php发送post请求的三种方法
- ASPWebPack 代码 提供下载
- 完美解决ajax跨域请求下parsererror的错误
- 得到jQuery detach()后节点中的某个值实现代码
- 发现ravmsmon.exe病毒的清除方法
- 使用get方式提交表单在地址栏里面不显示提交信息
- 解析JavaScript中点号“.”的多义性
- 三、注册表的的修改
- 最小存货单位(Stock Keeping Unit, SKU)解析
- C#的File类实现文件操作实例详解
- php生成EXCEL的东东
- C#实现简单的JSON序列化功能代码实例
- 巧妙连接提高ADSL网络速度
- python之virtualenv的简单使用方法(必看篇)
- 使用maven创建web项目的方法步骤(图文)