
S1: Php
涛歌依旧
毕业后就职于华为和腾讯
展开
-
PHP是最好的语言吗?
下午在家收拾东西,一朋友给我发过来信息说:需要帮助抓取一个网站的信息,并做一定的处理。他知道我会写点程序,让我帮这个忙。我手头刚好有点事情,拒绝吧,也不太好,就问是否可以迟延,他说紧急要。那就搞起,也不难。用什么语言呢?我最熟悉的当然是C/C++/Golang啦。但是,显然不太适合这个场景。于是我想用Python来做,之前玩过Python, 只是我连语法都得再查,用起来挺揪心的。算了,还是用PHP吧, 都说PHP是最好的语言。花了1小时,搞定了问题。能解决问题的语言.原创 2021-09-12 22:37:02 · 1899 阅读 · 6 评论 -
空格的url encode到底是+还是 ?
最近碰到这样一个问题, 空格经url后, 变成了+, 但与我对接的同学说, 应该变为%20, 这就尴尬了! 难道空格url encode后的值有两个? 查了一下资料, 发现确实有两种可能! 原来还有两个规范啊! 进一步了解了一下, 无论是那种规范, url decode的时候, 都能正确decode. 实际经验表明也确实如此!原创 2017-03-05 00:10:57 · 11147 阅读 · 1 评论 -
php urlencode和urldecode
我们都知道url中不能有空格, 那如何用url携带一个有空格的字段呢? 用urlencode吧, 我们用php的urlencode和urldecode来说说, 如下:<?php $a = "http abc你好"; $b = urlencode($a); $c = urldecode($b); echo $b; echo "\n"; echo $原创 2017-01-15 20:48:10 · 7907 阅读 · 1 评论 -
php双引号中的变量, 踩坑了啊
看看如下代码:<?php $i = 1; echo "hello$i"; // ok $rows_col = ""; for($i = 1; $i <= 15; ++$i) { for($j = 1; $j <= 3; ++$j) { $rows_col .= "$i行$j列"; // er原创 2016-12-08 00:15:02 · 13768 阅读 · 2 评论 -
mysql反引号的使用(防冲突)
转载地址:http://blog.itechol.com/space.php?uid=33&do=blog&id=6681问题描述: 工作中搭建gitlab服务器,在使用mysql数据库测试数据插入时出现错误,根据错误提示需查看gitlabhq_production数据库中keys表的相关信息,可执行查询语句中总是报错,如下示:mysql> sele转载 2016-12-08 00:13:33 · 10338 阅读 · 0 评论 -
用php判断当前时间是否在每天的某一时间区域内,比如: 9:00-18:00
用php判断当前时间是否在每天的某一时间区域内?比如: 9:00-18:00, 直接上代码:<?phpfunction get_curr_time_section(){ $checkDayStr = date('Y-m-d ',time()); $timeBegin1 = strtotime($checkDayStr."09:00".":00"); $timeEn原创 2017-04-16 14:42:12 · 24768 阅读 · 1 评论 -
简要介绍一下utf-8下bom文件的本质、bom文件的查找(linux命令)、去bom头的方法(linux命令)
之前玩php程序的时候, 出了一个问题, 但肉眼就是看不出来, 百思不得其解。 我明明没有改动自己的php文件啊, 怎么就突然有bug了呢? 后来请教某哥, 他先查了当前php文件的格式, 怀疑是bom问题, 但当前文件是没有bom头的啊, 于是怀疑是基础的php中加入了bom头, 导致当前php有问题了, 后来果真如此, 厉害! 我在旁边看得一脸懵逼, 什么bom? 听都没听原创 2016-10-21 11:03:57 · 11083 阅读 · 2 评论 -
对象如何持久化(用json_encode)?
前面讲过用serialize实现持久化, 但有个问题, 那就是可读性不强。 权衡考虑后, 还是用json_encode来序列化比较好。 咱们以数组为例来看看:<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>"5"); $test = json_encode($arr); echo $test; ec原创 2016-09-16 11:53:21 · 7639 阅读 · 0 评论 -
form表单与fiddler抓包
看一段简单的html代码: 点击Submit, 抓到的包是:原创 2016-09-16 02:27:52 · 9773 阅读 · 2 评论 -
细说 Form (表单)
转载地址:http://www.cnblogs.com/fish-li/archive/2011/07/17/2108884.html 细说 Form (表单)阅读目录开始简单的表单,简单的处理方式表单提交,成功控件多提交按钮的表单上传文件的表单MVC Controller中多个自定义类型的传入参数F5刷新问题并不是WebForms的错转载 2016-09-06 23:56:23 · 7812 阅读 · 1 评论 -
php定时执行、取消定时的伪代码(低级版本)
最近要写个小工具, 实现一个定制执行的功能, 并能取消定时。 我是这么搞的, 结果被老大狠批。 自己回头看自己的程序, 也算是笑尿。function addTimer(){ create file for(600次) { sleep(1); if(file not exist) { exit; } }原创 2016-09-06 23:39:56 · 7608 阅读 · 1 评论 -
php语法检查工具------http://www.trisunsoft.com/free-web-tools-online.htm (当时没有用工具,导致浪费10分钟)
最近写了点php代码,改动不小(主要是字符串替换), 我当时就担心, 要是出了语法问题, 多了或者少了一个符号, 那就呵呵哒了。 果不其然, 一放到机器上运行, 页面就打不开, 这肯定是语法出问题了。 由于不知道怎么看php语法错误, 我居然就想着去用svn去看自己的修改, 那么多, 肉眼看得过来么? 后看是在看得眼睛疼, 还准备回退代码查看哪里错了呢!!!原创 2016-07-10 11:46:01 · 14868 阅读 · 2 评论 -
http的refer头------说说最近遇到的http 403错误
最近遇到这样一个问题, 用php吐出html, 在html中, 用<a>指向了一个视频资源的url, 但是, 当去点击这个链接的时候, 视频的url地址出现在浏览器新窗口的地址栏中, 只是没有播放, 抓包看了一下, 原来, 在访问url时, 对端返回403错误码。 然后我在浏览器地址栏中按一下enter, 就可以播放了。 奇怪了, 为什么从anchor进去的url无法直接播放呢? 于是, 我把页面对应的html代码复制, 保存在PC桌面上的test.html中并在浏览器中打开, 然后原创 2016-06-01 23:41:45 · 10782 阅读 · 1 评论 -
文件下载: 云--->php服务---pc
php下载文件的代码为:function download_file($url = '', $fileName = ''){ $ch = curl_init(); $fp = fopen($fileName, 'wb'); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FILE, $fp); curl_s原创 2016-05-31 23:42:50 · 7310 阅读 · 1 评论 -
一个"ctrl + s"就搞定问题------不用写代码啊
最近又玩了一下php, 碰到这样一个问题: 在php中, 获取到了某视频的资源地址, 需要提供一个网页管理端, 供使用者点击下载。 我的方法是: 把该视频资源下载到php对应的服务上, 然后再传到PC上。 但是, 在后一个过程就受阻了。 我们知道, 在html中, 可以通过form表单把文件传到php对应的服务器, 但怎么下载, 我就犯愁了。 后来, 请教某哥,原创 2016-05-30 23:30:07 · 8615 阅读 · 1 评论 -
require_once失败------又是软链接惹的祸
某php脚本在旧机器上工作得好好的, 但最近要进行搬迁, 搬迁到新机器。 可是, 搬移后, 发现对应的进程无法启动, egg hurting. 加了非常详细的log后, 才定位到是require_once所致。 但是, require_once对应的a.php没什么问题, 而且新旧机器上的a.php完全一致。 但之前的经验告诉我, 这还不够, 要看a.php包含的东西是否完全一致原创 2017-07-14 19:30:32 · 8246 阅读 · 1 评论 -
php和apache其实没有什么关系
一说到php, 很多人会本能地想到apache, 其实, php和apache没有半毛钱的关系。 php是语言, 而apache是web服务器. 如果是单纯想学php语言, 那么可以直接在linux上安装php环境即可(不一定要安装apache), 安装后, 就可以用命令行执行php文件(脚本了), 这一点, 在实际开发中也很有用。 php是一门不错的语言, 有原创 2017-07-30 23:19:42 · 9357 阅读 · 1 评论 -
PHP——底层运行机制与原理
转载地址: http://blog.youkuaiyun.com/lili0710432/article/details/47816365 PHP用起来感觉很简单方便,但是要精通php,熟悉底层的工作原理也不是一件容易的事。1 PHP的设计理念及特点多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,转载 2017-08-01 22:53:40 · 8446 阅读 · 1 评论 -
csrf攻击模拟
之前介绍过csrf的攻击原理和防御, 请见"https://blog.youkuaiyun.com/stpeace/article/details/53512283", 本文就不再赘述。 最近模拟实践了一番,来简要说说: 1. Alice欠Bob 100元钱, 通过银行转账给Bob, 一切合情合理, Alice的浏览器执行的操作是:http://www.bank.com/tra...原创 2018-05-06 20:09:54 · 7637 阅读 · 4 评论 -
用php发https请求
最近要用到, 所以写了个程序测试一下用php发https请求, 直接在http://www.dooccn.com/php7/中运行:<?php function curl_get_https($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, C...原创 2018-04-14 10:01:43 · 13813 阅读 · 1 评论 -
linux(ubuntu)下安装php易如反掌
linux(ubuntu)下安装php易如反掌, 来看看:sudo apt-get install php5-cli 然后:ubuntu@VM-0-13-ubuntu:~$ cat a.php <?php$aa=60;echo 'hello '.'xxx'.$aa."\n";echo "PHP??:".phpversion();?>ubuntu@VM-0-13-ub原创 2017-11-24 19:49:30 · 7518 阅读 · 1 评论 -
树莓派上安装php
简单东西:sudo apt-get install php 然后:pi@raspberrypi:~/taoge $ cat test.php <?php $aa=60; echo 'hello '.'xxx'.$aa."\n"; echo "PHP??:".phpversion(); ?> pi@raspberrypi:~/taoge $ pi@raspb原创 2017-12-12 23:07:15 · 13744 阅读 · 4 评论 -
libcurl获取网页内容的PHP代码
废话少说, 直接代码:<?php $url = "http://www.baidu.com"; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); //请求的URL curl_setopt($ch,CURLOPT_HEADER,false); //是否显示头部 $rsp = curl_e原创 2017-09-14 20:10:28 · 7427 阅读 · 1 评论 -
字符串哈希和哈希表的本质
很多人听到哈希, 是从md5开始的, 比如每一个字符串都有它的md5, 且两个不同字符串的md5值不一样, 而且根据md5值, 是无法求出原来的字符串的。 这就是字符串的哈希。 说白了, 哈希就是满足一定条件的变换, 本质就是变换, 思路简单得很。 在数据结构中, 又有哈希表, 这个是什么玩意儿呢? 对于非计算机专业的我来说, 开始是不太好理解的, 其实思路非常非常简单。 我们来原创 2017-09-23 00:25:15 · 8562 阅读 · 2 评论 -
xmlhttp.status为0的原因及其解决方案
先看本地的test.html: function loadXMLDoc() { var xmlhttp = new XMLHttpRequest(); // chrome xmlhttp.open("GET", "http://localhost/index.php", true); xmlhttp.send(); xmlhttp.onreadystatechan原创 2017-08-06 00:01:31 · 31162 阅读 · 2 评论 -
非常好用的php在线工具 http://www.dooccn.com/php/ (还包括其它很多语言, 棒棒哒!)
推荐一款非常好用的php在线工具 http://www.dooccn.com/php/, 如下:原创 2017-08-05 19:30:37 · 17609 阅读 · 7 评论 -
实例详解html的form表单和php的_POST数组,并用fiddler抓包来玩玩------走进Web、Server开发的世界
在前面的文章中, 我们已经转载了Windows上搭建Apache, PHP和MySQL的方法, 我亲自试了一下, 非常好用! 本文, 我们只会用到Apache和PHP, 一起来看看。 在本地写test.html文件: 名字: 邮箱: 然后在Apache关联的PHP目录下写php代码, index.php代码为:<?php原创 2017-08-05 19:09:41 · 10596 阅读 · 1 评论 -
实例说明js脚本语言和php脚本语言的区别
js脚本语言和php脚本语言的区别是什么? 一句话: js是客户端脚本, 由浏览器执行。 php是服务端脚本, 由php服务执行, php脚本跟shell脚本(bash执行)颇为类似。 来看看js脚本, 写一个test.html文件, 其中内容为: alert("this is js"); 直接双击本地的test.html文件, 结果就有一个弹框了,原创 2017-08-05 18:08:37 · 9822 阅读 · 2 评论 -
在Windows下搭建Apache服务器(试了一下, OK)
转载地址:http://blog.youkuaiyun.com/u010105970/article/details/41276451 Apache服务器是一款基于HTTP协议的web服务器,Apache服务器使用CGI开发首先下载Apache服务器,下载地址http://download.youkuaiyun.com/detail/u010105970/8173827转载 2017-08-05 16:22:08 · 9015 阅读 · 1 评论 -
Windows下搭建Apache, PHP, MySQL (试了一下, 靠谱, 写得非常清晰, 赞一个!)
转载地址:http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软转载 2017-08-05 17:19:23 · 8079 阅读 · 0 评论 -
用php代码获取机器的ip地址
最近要用用php代码获取机器的ip地址, 先来写个:<?phpfunction get_machine_ip(){ $result = shell_exec("/sbin/ifconfig"); if (preg_match_all("/inet (\d+\.\d+\.\d+\.\d+)/", $result, $match) !== 0) // 这里根据你机器的具体情况, 可能要原创 2017-07-27 23:37:08 · 9925 阅读 · 1 评论 -
PHP的四种运行模式
转载地址:http://blog.youkuaiyun.com/hguisu/article/details/7386882 PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 (Command Line Inte转载 2017-08-01 22:57:18 · 9843 阅读 · 0 评论 -
要注意php for中变量的清空
看代码:<?php for($i = 0; $i < 2; ++$i) { if($i == 0) { $x = "hello"; } echo $x; echo "\n"; } echo $x; echo "\n";?>原创 2016-05-19 23:05:59 · 8319 阅读 · 1 评论 -
如何在程序中判断当前的qq空间图像是默认的空间图像------我现在已经不太喜欢严密的东东了
最近碰到一个问题, 需要在php程序中判断当前的qq空间图像是默认的空间图像, 别跟我说md5. 当时第一直觉觉得不可能, 但这个问题又不得不解决啊。 跟朋友们讨论后, 大家也帮提供了各种各样的点子, 后来我找到了一种相对简单的方法, 后来证实果然OK. 从一开始被问题击倒, 到解决问题, 其实就那么简单, 最重要的是, 正如某大牛原创 2016-03-05 09:38:47 · 7155 阅读 · 0 评论 -
建议对php变量进行初始化、用完后清空
我们知道, 在php中, 变量不需要提前定义, 想用就用即可。 从我写php代码的经验来看, 建议对php变量进行初始化、用完后清空, 能避免很多串扰问题。 踩过太多的坑了。 C/C++就不存在这个问题, 爽爽哒!原创 2016-12-10 15:19:52 · 10430 阅读 · 0 评论 -
对象如何持久化(用serialize)?
对象如何持久化? 哈哈, 可以序列化并写到文件。 下面来玩玩php的序列化(用数组), 好方便:<?php $a = array(12=>"one", 31=>"two", 22=>"three"); $b = serialize($a); $c = unserialize($b); var_dump($b); var_dump($c);?>原创 2016-09-09 23:41:32 · 7436 阅读 · 0 评论 -
php中的in_array函数
在PHP中, 要判断一个元素是否在数组中, 我还准备用C/C++思维, 后来想, php中不可能没有此类函数, 于是乎:<?php $arr = array("123", "world"); if(in_array("123", $arr)) { echo "yes1"; } else { echo "no1";原创 2016-04-07 22:59:03 · 7613 阅读 · 1 评论 -
php中单引号双引号那点事---顺便说说把php变量的值传给js
与C语言相比, php的语法真是太自由了, 在php中, 认为'good'和"good"是一个东东, 这让学C语言的人何以堪啊。 下面看看php的单双引号吧:<?php $s = "good";$str1 = <<<EOT hello $sEOT; $str2 = "hello $s"; $str3 = 'hello $s';原创 2016-02-22 21:29:57 · 10359 阅读 · 0 评论 -
php函数外的变量不可见, 而if块内的变量又可见------php的思维好特别
之前说过并验证过,php函数外的变量不可见。 今天来看看if块内的变量, 如下:<?php if(1) { $a = 100; } print_r($a);?> 结果为100 我对php暂时理解还不太深刻, 不过对于熟悉C/C++的我来说, 这种反...原创 2016-02-29 23:54:33 · 8707 阅读 · 2 评论 -
php的str_replace函数
excel表格的内容复制到txt后, 经常会出现一些不可见的字符, 比如tab, 有时候还会与空格混在一起。 此时, 我们经常需要统一处理为空格, 方便后续处理, 方法为:<?php $str = "Hello world"; $str = str_replace("\t", " ", $str); echo $str;?> 转换成空格成原创 2016-02-26 23:37:59 · 8043 阅读 · 1 评论