php header 404跳转错误页面实例
先来了解header函数
header() 函数向客户端发送原始的 HTTP 报头,header(string,replace,http_response_code)
php header 404写法:
Php代码
代码如下 | 复制代码 |
header("HTTP/1.1 404 Not Found");exit; |
如果以上代码不凑效,可以试试以下代码:
Php代码
代码如下 | 复制代码 |
header("Status: 404 Not Found"); |
上面只是404状态页面很难看,如果我们要验证需要如下操作
代码如下 | 复制代码 |
@header("http/1.1 404 not found"); |
这样不但有错误提示信息同时还会有一个漂亮的页面哦,我在实例应用中的一个实例
代码如下 | 复制代码 |
|
如果讲到apache那就简单多了,ErrorDocument 404 /404.html
注意了,如果你写好之后一定要利用专题404错误页面工具进行测试哦,否则可能返回200就不好了,一定要看到是404状态才行。
本文章来给大家介绍在使用ipv6时利用php curl获取网页内容超时解决办法,有碰到此类问题的同学可进入参考参考。问题原因:
如果开启了IPv6,curl默认会优先解析 IPv6,在对应域名没有 IPv6 的情况下,会等待 IPv6 dns解析失败 timeout 之后才按以前的正常流程去找 IPv4。在程序中我对curl获取内容都作了较为严格的超时限制,所以就会造成无法获取内容的问题。
解决的方法是设置默认访问为ipv4,php的curl设置方法具体如下
代码如下 | 复制代码 |
$ch = curl_init(); //设置curl请求连接时的最长秒数,如果设置为0,则无限 |
注:curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4) 只有在php版本5.3及以上版本,curl版本7.10.8及以上版本时,以上设置才生效。
图片防盗链很多网站都会做,这样做是为了节省机器资源了,我们看到QQ,百度等等这些图片都这样操作了,下面我用一个简单的办法来破解图片防盗链。php防盗链方法:
方法1:根据有些网站运行直接打开图片的链接,即直接在浏览器输入地址可以访问图片资源,所以可用以下代码:
代码如下 | 复制代码 |
<?php $img=$_GET['img']; echo file_get_contents($img); ?> |
方法2:用curl伪造
代码如下 | 复制代码 |
<?php $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, "http://www.111cn.net");//目标 curl_setopt ($ch, CURLOPT_REFERER, "http://www.111cn.net/ ");//伪造来路 curl_exec ($ch); curl_close ($ch);
|
把字符串中地址全部获取到一个数组我们利用preg_match_all函数
代码如下 | 复制代码 |
<?php 结果 Array |
有了上面核心函数下面就好做了
代码如下 | 复制代码 |
/** //保存路径 //匹配图片的src foreach($match[1] as $imgurl){ $imgurl = $imgurl; if(is_int(strpos($imgurl, 'http'))){ //保存图片到服务器 |
先来看看$_FILES数组内容如下:
$_FILES['myFile']['name'] 客户端文件的原名称。
$_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['myFile']['size'] 已上传文件的大小,单位为字节。
$_FILES['myFile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但用 putenv() 函数设置是不起作用的。
$_FILES['myFile']['error'] 和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的。
下面是它的说明:(它们在PHP3.0以后成了常量)
UPLOAD_ERR_OK 值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE 值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE 值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL 值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE 值:4; 没有文件被上传。 值:5; 上传文件大小为0.
注:
1. 文件被上传结束后,默认地被存储在了临时目录中,这时必须将它从临时目录中删除或移动到其它地方,如果没有,则会被删除。也就是不管是否上传成功,脚本执行完后临时目录里的文件肯定会被删除。所以在删除之前要用PHP的 copy() 函数将它复制到其它位置,此时,才算完成了上传文件过程。
2. 在 PHP 4.1.0 版本以前该数组的名称为 $HTTP_POST_FILES,它并不像 $_FILES 一样是自动全局变量。PHP 3 不支持 $HTTP_POST_FILES 数组。
3. 用form上传文件时,一定要加上属性内容 enctype="multipart/form-data",否则用$_FILES[filename]获取文件信息时会报异常。
代码如下 | 复制代码 |
<form enctype="multipart/form-data" action="URL" method="post"> |
php代码
代码如下 | 复制代码 |
function uploadfile($file) { $destinationpath = "./upload/"; if (!file_exists($destinationpath)){ mkdir($destinationpath , 0777); } //重命名 $filename = date('ymdhis') . '_' . iconv('utf-8' , 'gb2312' , basename($file['name'])); if (move_uploaded_file($file['tmp_name'], $destinationpath . $filename)) { return iconv('gb2312' , 'utf-8' , $filename); } return ''; } |
多文件上传的原理也差不多,下面看个实例
代码如下 | 复制代码 |
<form action="fileclass.php" enctype="multipart/form-data" method="post" id="userfile"> </form> |
fileclass.php文件代码如下:
代码如下 | 复制代码 |
<?php function __construct($file_name,$file_error,$file_size,$file_tmp_name,$file_type){ if (is_uploaded_file($mvfiletmp)){ function rand_string($len, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'){ //指定范围内随机提取字符 |
相关文章
- 这篇文章主要介绍了Element PageHeader页头的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-27
PHP中header()函数有什么用?常见header 状态
在php中header()函数是很大的作用可以发送各种状态代码,也可以实现一些输出下载,下面我们一起来看看一些相关实例吧。 什么是头信息? 这里只作简单解释,详细的自己看...2016-11-25- 404页面就是一个告诉搜索引擎这个页面不存在了,同时也提示用户可以选择其它的操作了,下面我来给没有apache操作权限朋友介绍php中自定义404页面的操作方法。 方法一...2016-11-25
- 这篇文章主要介绍了IIS自定义404错误页避免暴露.NET网站路径信息,在输入非.aspx页面时,显示默认404页面,暴露站点路径信息,本文就给出了一个解决方法,需要的朋友可以参考下...2016-01-27
- 如果您的用户找不到他要的页面,如何给他一个友好的答复,并且你也知道发生了这个错误呢,看看下面这段程序,是用来定制404错误页面和发通知给网管的好东西。---teaman翻译...2016-11-25
- 关于网站错误页面与无效页面处理有很多的一些小技巧了,如果处理的好我们可以对网站权重有少小的提升哦,如果处理不好那对网可能负面影响哦,下面一起来看看如何处理这些错...2016-10-10
- php header后是否需要书写exit以终止程序,以前一直没有太在意,今天遇到个bug,才发现这还是个问题,特意写了段代码测试了一下,代码如下: 通常有一下三种: ...2016-11-25
php 杜绝Cannot add header information
php 杜绝Cannot add header information warning: Cannot add header information - headers already sent in output_buffering被启用时,在脚本发送输出时,PHP并不...2016-11-25- 在我们生成验证码时会需要直接输入图片,通常会使用到header("Content-type: image/jpeg");来实现了,下面小编给各位介绍一下。 很多开发中,我们试图使用header("Con...2016-11-25
- 同事叫我帮忙解释一个问题:一个PHP生成的重定向请求,在Nginx日志里产生两种截然不同的记录:一种响应体大小是零个字节;另一种响应体大小是五个字节 现在年纪大了,面对...2016-11-25
- 本文章利用header()函数来实现页面跳,我们介绍到404,302,301等状态跳转哦,下面有很多的状态自定的函数有需要的同学可以测试一下。 header实现302临时重定向 ...2016-11-25
- 标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头 与 HTML 文件之间尚需空一行分隔。有关 HTTP 的详细说明,可以参 RFC 2068 官方文件 (h...2016-11-25
- header ( )函数发送一个原始HTTP头到客户端。 header(string,replace,http_response_code) 重要的是要看到,标题( )必须在任何所谓的实际产出发送 PHP header 函数教...2016-11-25
- 在php中header函数的使用很大,header不但可以向客户端发送原始的 HTTP 报头信息,同时还可以直接实现文件下载操作,接下来小编给大家介绍欢迎各位朋友参考。 header函...2016-11-25
- 定义和用法 header() 函数向客户端发送原始的 HTTP 报头。 认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使...2016-11-25
Repeater控件动态变更列(Header,Item和Foot)信息实现思路
需求开发一个小报表,显示最近五个月的summary的数量统计,报表会随月份的变化而变化,接下来为大家详细介绍下实现方法,感兴趣的各位不要错过了哈...2021-09-22- 大家都知道header函数中Location类型的标头是一种特殊的header调用,常用来实现页面跳转,在新手刚学习的时候有些注意事项要注意,下面通过本文来详细看看吧。...2016-11-01
- 下面小编就为大家带来一篇PHP Header失效的原因分析及解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-11-22
- 如何让apache支持.htaccess,今天我在看seo 优化时发现的一个问题,就是定义页面的404错误对网站优化有一点的好处,所以我也要把自己主机上的找不到的页面设置到这里来,下面就...2016-01-28
- 这篇文章主要介绍了nginx add_header指令使用方法,nginx配置文件通过使用add_header指令来设置response header,需要的朋友可以参考下...2016-01-27