作为一个php工程师,有些东西是必须要掌握的,有些东西是需要多去了解的,比如: 基础 php基础 cookie和session的区别 mysql基础 php字符串处理函数 php数组相关函数 php处理字符串的相关函数 php的cURL 算法 打印文件夹结构列表 php最少代码获取数组最大值 排序 服务 TCP/UDP相关知识 http状……
标签目录:PHP
以下是与标签 “PHP” 相关联的文章php最少代码获取数组最大值
1 2 3 4 5 6 |
$arrays = array('3','44','9','54.6'); $max=0; foreach($arrays as $v){ $max = intval($max)>intval($v) ? $max : $v; } echo $max; |
如果是用php内置函数就更简单喽:max($array)
php读取文件目录
想要读取一个文件的目录,并且要分出层次等级,开始的时候一直想用循环过程中输出空格的方法,可是按照逻辑输出后,总是达不到要求。 后来发现直接用样式ul li标签就可以了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
/*加上一些样式也可以*/ <style> html{font-family: '微软雅黑';} ul{margin: 0px;} li{list-style: none;} </style> <?php function tree($path=''){ if(!is_dir($path)){ die("目录不对!"); } $current_dir = dir($path); //opendir返回一个目录句柄,失败返回false while(($file = $current_dir->read()) !== false){ //readdir返回打开目录句柄的一个条目 $file_path = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径 //判断是不是文件 .表示当前文件夹 ..表示上级文件夹 if($file =='.' || $file =='..'){ continue; } //输出文件或文件夹名 echo $str = '<li> |-----'.$file.'</li>'; //判断是新的路径 if(is_dir($file_path)) { echo "<ul>"; tree($file_path); echo "</ul>"; } } } //调用 tree("CodeIgniter_2.2.0"); ?> |
数组元素移动排序
需求: 一个正常排序的有序数组中,要把其中一个元素拿出来,给他一个新的位置,在不替换原来位置上的数组的情况下,把数组重新排序。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function sort_org($order,$id,$p_id=0){ // 从数据库查出$p_id节点下除$id的所有数据,按照order排序。 $array_ids=array("id1","id2","id3","id4"); $length = count($array_ids); //判断给出的新位置的需要 if(!trim($order) || $order > $length){ array_push($array_ids,$id); //为空或者超大序号,就放在数组最后 }else if($order < 1){ array_unshift($array_ids,$id); //小于1就放在最前面 }else{ for($i=$length;$i>=$order;$i--){ $array_ids[$i] = $array_ids[$i-1]; } $array_ids [$order-1] = $id; } //使用foreac循环$array_ids foreach($array_ids as $k=>$v){ echo "排序结果:\r\n"; $order = $k + 1; var_dump("order: $order===>数据id: $v"); } } $order = 3; $id ='id_in'; sort_org($order,$id); |
解释: 根据自己的需求得到一个$array_ids数组,这个数组中是没有你想要转移的那个元素的,然后你想把那个指定的id放在那个位置上,就把那个位……
PHP的cURL使用 — 3
模拟登录 在登录页面进行登录后,进入特定的页面,获取特定的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
//模拟登录 function login_post($url, $cookie, $post) { $curl = curl_init();//初始化curl模块 curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址 curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//是否自动显示返回的信息 curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中 curl_setopt($curl, CURLOPT_POST, 1);//post方式提交 curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息 curl_exec($curl);//执行cURL curl_close($curl);//关闭cURL资源,并且释放系统资源 } //登录成功后获取数据 function get_content($url, $cookie) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie); //读取cookie $rs = curl_exec($ch); //执行cURL抓取页面内容 curl_close($ch); return $rs; } $post = array ( 'log' => '****', 'pwd'=>'****', 'wp-submit'=>'登录', 'redirect_to'=>'http://blog.1z5k.com/wp-admin/' ); //登录地址 $url = 'http://blog.1z5k.com/wp-login.php'; //设置cookie保存路径 $cookie = dirname(__FILE__) . '\cookie_temp.txt'; //登录后要获取信息的地址 $url2 = "http://blog.1z5k.com/wp-admin/"; //模拟登录 login_post($url, $cookie, $post); //获取登录页的信息 $content = get_content($url2, $cookie); //删除cookie文件 @ unlink($cookie); //匹配页面信息 //$preg = "|<[^>]+>(.*)</[^>]+>|U"; $preg = '/<div id="wpcontent"> (.*)<\/div>/iUs'; preg_match_all($preg,$content,$arr_content); var_dump($arr_content); |
$post 中的变量是按照原始页面的 form date进行填充的,当然用户名密码你得知道。这里我登录了自己的博客后台,并进去管理页面,是ok滴! 查看第一篇 查看第二篇
PHP的cURL使用 — 2
基于浏览器的重定向 在第一个例子中,我们将提供一段用于侦测服务器是否有基于浏览器的重定向的代码。例如,有些网站会根据是否是手机浏览器甚至用户来自哪个国家来重定向网页。 我们利用 CURLOPT_HTTPHEADER 选项来设定我们发送出的HTTP请求头信息(http headers),包括user agent信息和默认语言。然后我们来看看……
PHP的cURL使用 — 1
使用PHP的cURL库可以简单有效地抓取页面。 它的函数库是蛮大的: curl_init 初始化一个curl会话,函数唯一的一个参数是可选的,表示一个url地址。 curl_copy_handle 拷贝一个curl连接资源的所有内容和参数 curl_errno 返回一个包含当前会话错误信息的数字编号 curl_error 返回一个包含当前……
PHPstorm + xdebug 配置
php.ini文件配置 ;xdebug配置 zend_extension=”C:\wamp\bin\php\php5.3.3\ext\php_xdebug-2.1.0-5.3-vc6.dll” ;开启自动跟踪 xdebug.auto_trace = On ;开启异常跟踪 xdebug.show_exception_trace = On ;……