laravel构造函数使用return返回无效,
- 主要原因是不能使用return 来跳转
- 正确跳转写法:redirect(‘/login’)->send();
php使用explode拆分含多个分隔符的字符串,分隔字符串为数组
- 方法一:先将分隔符转换成统一字符,再使用explode进行拆分
$arr=explode('#',str_replace(array(":"),'#',$string)); 方法二:使用preg_split拆分
$string="php教程#php入门:教程#字符串:多分隔符#字符串:拆分#数组";$arr = preg_split("/(#|:)/",$string);print_r($arr);
去除字符串中的\r或者\n
$string_arr = preg_split("/[\r\n]+/s",$text);循环删除整个目录,包括目录下面的文件
/*** 删除解压文件* @param $path* @return boolean*/public static function deleteFile($path) {$files = scandir($path);foreach ($files as $file) {if ($file != '.' && $file != '..') {if (is_dir($path . '/' . $file)) {if(count(scandir($path . '/' . $file)) == 2){//目录为空,=2是因为.和..存在rmdir($path . '/' . $file);// 删除空目录}else{self::deleteFile($path . '/' . $file);}} else {//删除文件unlink($path.'/'. $file);}}}//目录为空,=2是因为.和..存在if(count(scandir($path)) == 2){rmdir($path);// 删除空目录}return true;}
php 的file_get_contents函数获取网页内容不全的问题。
$a = file_get_contents('http://www.giabbs.com/thread-756955-1-1.html');var_dump($a);file_put_contents('a.txt', $a);
代码如上面。运行代码就发现,内容只获取到一半。在中间断掉了。这种情况一般是转码的情况,有些特殊字符无法转换,然后断掉的。可是为啥用这个函数获取原始内容也这样,真心想不通啊。
我以前遇到过内容只有一半的情况,但我是在正常访问网页的时候,
通过几次排查发现,这都是由于被访问页面的编码问题导致的,就算是浏览器也只加载了一半内容
修复方法:在header函数头加上charset=utf-8
header("Content-Type: image/jpeg;text/html; charset=utf-8");echo $img;exit;
今天偶然使用php simplexml_load_file(“XXXX”)加载XML文件的时候报错。
Warning: simplexml_load_file(): I/O warning : failed to load external entity "xxx "后来将simplexml_load_file("XXXX")替换成simplexml_load_string(file_get_contents("XXXX"));
问题得到解决。
也可参照:
stackoverflow