Php实现301重定向跳转代码
一:更推荐这种方法,因为它可以把www.111cn.net原来所有的url都转到111cn.net新的地址上
代码如下 | 复制代码 |
<?php $the_host = $_SERVER['HTTP_HOST']; $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; if($the_host == 'www.111cn.net') { header('HTTP/1.1 301 Moved Permanently'); header('Location: http://111cn.net'.$request_uri);// } ?> |
二:单页多站的Php301重定向代码,www.111cn.net和111cn.net则301到index.php上,www.111cn.net则301到111cn.net上,否则转到错误页
代码如下 | 复制代码 |
if(($HTTP_HOST=="www.111cn.net")or($HTTP_HOST=="111cn.net")) |
附上其它跳转办法
代码如下 | 复制代码 |
//定义编码 //Atom //CSS //Javascript //JPEG Image //JSON //PDF //RSS //Text (Plain) //XML // ok //设置一个404头: //设置地址被永久的重定向 //转到一个新地址 //文件延迟转向: //当然,也可以使用html语法实现 // override X-Powered-By: PHP: //文档语言 //告诉浏览器最后一次修改时间 //告诉浏览器文档内容没有发生改变 //设置内容长度 //设置为一个下载类型 // 对当前文档禁用缓存 //设置内容类型: //显示登陆对话框 |
跳转要注意以下几点,有助于解决一些新手经常遇到的问题
1、location和“:”号间不能有空格,否则会出错。
2、在用header前不能有任何的输出。
3、header后的PHP代码还会被执行。
写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
代码如下 | 复制代码 |
$dirs='e:/pdf'; function FileShow($dirs) { $dir=opendir($dirs); while ($f=readdir($dir)) { if($f != '.' && $f != '..'){ $file=$dirs.'/'.$f; if(is_file($file)){ echo 'FileName:'.$file.'<br />'; //echo 'FileName:'.iconv('gb2312','utf-8',$file).'<br />'; }else{ FileShow($file); } } } } FileShow($dirs); |
php把数组写入文件,通过序列和反序列实现。请看代码
$file="./data/file.cache";
file_put_contents($file,serialize($array));//写入缓存
代码如下 | 复制代码 |
<?php <? |
//将一个测试的数组写入一个PHP文件:
代码如下 | 复制代码 |
<?php //要写入PHP文件的数组 $write_array = array( '1' => 'oneone', '2' => 'two', '3' => 'three', '4' => 'four', '5' => 'five' ); //字符串处理 |
这里用到了两个函数:
代码如下 | 复制代码 |
1,var_export(): |
·var_export — 用来输出或返回一个变量的字符串表示,它和 var_dump() 的区别是,var_export() 可以用来返回关于传递给该函数的变量的结构信息,并且其返回的表示是合法的 PHP 代码如果 “echo $string_process;”,则可以看到输出结果:
代码如下 | 复制代码 |
array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', ) |
而它就是我们要写入 test_array.php 文件的内容(除去 php 标签);
·var_dump() 函数用来打印变量的相关信息,它只用来“打印”,而不会返回值,它的原型是 void var_dump(……),我们来 “var_dump($string_process);”,则可以看到输出结果:
代码如下 | 复制代码 |
string(86) "array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )" |
可以看到输出的string(86) “…”,再一次说明了 var_export() 返回的是一个字符串。
在做内容站时,经常会用到采集软件在互联网上大肆侵略别站的资源,一采集就是几千篇的文章,采集之后 发现内容中有些原站点的超级链接,要是一个个去改的话 很麻烦 所以写了个方法,测试成功。简单说一下原理,这里重利用的是 PHP 的替换函数 preg_replace,在实际应用中,我们经常使用 preg_replace 去替换一些危险字符或去转换一些斜杠或回车等。preg_replace($1,$2,$3) 有三个重要的参数,其中 $1 是要搜索的字符串,$2 是要替换成的字符串,$3 是要进行替换的字符串。
那么知道了 preg_replace 函数工作的原理,那么进行替换超链接就不难了,我们只需要将参数 $1 和 $2 转换成数组,进行批量替换,以下是方法,测试成功,共享给 phper 。
代码如下 | 复制代码 |
<?php |
或
代码如下 | 复制代码 |
<?php $content = file_get_contents('test.html'); $url = 'http://www.111cn.net'; //要换成的新网址 $preg = '/[s]href=("|')[S]*("|')/i'; $replace = ' href="' . $url . '"'; $content = preg_replace($preg, $replace, $content); //正则替换 create_log('newhtml', $content); //生成新文件 ?> |
都是可以的
从我对echo(),print(),print_r()这个函数的理解是echo可输入字符串变量常量,print与echo差不多,但print_r可以打印数组而前两者是不可以的,下面我来详细介绍它们三个的用法与区别吧。
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)
print() 只能打印出简单类型变量的值(如int,string)
print_r() 可以打印出复杂类型变量的值(如数组,对象)
echo 输出一个或者多个字符串
echo — 输出一个或者多个字符串
Descrīption
void echo ( string arg1 [, string ...] ) //返回值为空
代码如下 | 复制代码 |
echo "你好","朋友"; |
print –输出一个字符串
Descrīption
int print ( string arg )//返回值为整形
代码如下 | 复制代码 |
print "你好朋友"; |
可以进行下面操作
代码如下 | 复制代码 |
$name=print "nihao n"; |
print_r — 打印关于变量的易于理解的信息。
bool print_r ( mixed expression [, bool return] ) //返回值是布尔型的,参数是mix类型的,可以是字符串,整形,数组,对象类print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
print_r() 将把数组的指针移到最后边。
你可以
print_r(str);
print_r(int);
print_r(array);
print_r(obj);
下面我们一个个举例说明一下
四种方法可以输出字符串。 echo
print()
printf()
print_r()
echo
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。
语法正确: echo "Hello", "World";
语法错误: echo ("Hello", "World");
print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。如,
代码如下 | 复制代码 |
if (!print("Hello, World")){ die("you are not listening to me"); } |
printf()
printf()源于C语言中的printf()。该函数输出格式化的字符串。
语法: printf(format,arg1,arg2,arg++)
format 规定字符串以及如何格式化其中的变量;
arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
Example: ?php
代码如下 | 复制代码 |
$str = "Hello"; $number = 123; printf("%s world. Day number %u",$str,$number); ?> |
如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 "$" 组成。请参见例子 3。
Example: ?php
代码如下 | 复制代码 |
$number = 123; printf("With 2 decimals: %1$.2fbr />With no decimals: %1$u",$number); ?> |
print_r()和var_dump()
print_r()可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。如,
代码如下 | 复制代码 |
$a = array('name' => 'Fred', 'age' => '15', 'wife' => 'Wilma'); print_r($a); { [name] => Fred [age] => 15 [wife] => Wilma } |
对象也一样。如,
代码如下 | 复制代码 |
class P { var $name = 'nat'; // ... } $p = new P; print_r($p); { [name] => nat } |
但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"n"。因此用var_dump()函数更适合调试
相关文章
- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
- 本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
- 本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
- 一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
- 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
- 小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
Spring Boot项目@RestController使用重定向redirect方式
这篇文章主要介绍了Spring Boot项目@RestController使用重定向redirect方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-02php导出csv格式数据并将数字转换成文本的思路以及代码分享
php导出csv格式数据实现:先定义一个字符串 存储内容,例如 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."/n";然后对需要保存csv的数组进行foreach循环,例如复制代...2014-06-07- ecshop商品无限级分类代码 function cat_options($spec_cat_id, $arr) { static $cat_options = array(); if (isset($cat_options[$spec_cat_id]))...2016-11-25
- 本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
- 这篇文章主要介绍了cmd命令的重定向输出 2>&1详解,需要的朋友可以参考下...2020-08-28
- 这篇文章主要介绍了vue项目,代码提交至码云,iconfont的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-30