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