PHP技术那点事
全部
技术
PHP
MySQL
前端
Linux
JAVA
退出
编辑文章
选择分类
PHP
MySQL
前端
Linux
Java
工具
选择专栏
设计模式
java基础
Angular学习
Java面试题
描述:
封面图上传 :
+
点击上传图片
### 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](https://stackoverflow.com/questions/21661593/simplexml-i-o-warning-failed-to-load-external-entity)
保存文章