标签归档:PHP

php调用系统命令时注意过滤参数

处理参数或者处理整条命令吧。不处理很危险。 相关命令有 : escapeshellarg() escapeshellcmd() $param = “; cat /etc/passwd”; //$param = escapeshellcmd($param); $cmd = “echo xxx {$param}”; $cmd = escapeshellcmd($cmd); var_dump($cmd); $output = $intRet = ”; exec($cmd, $output, $intRet); var_dump($output); var_dump($intRet);

发表在 Php | 标签为 | 留下评论

svn和git自动发布服务搭建

为方便本地用php些mapReduce脚本,搭建了svn和git自动发布。方法在本站搜索svn或git。nginx解析hbase.6.cn /data/www/hbase.6.cn 并设置autoindex on。 没用最老的svn://协议方式,可能最简单,需要启动svnserve -d -r /data/svn/respority 本机测试检出 可以直接用本地路径 git clone /data/git_repo/sample.git /data/www/hbase.6.cn/gitwww svn checkout file:///data/svn/project/hbase /data/www/hbase.6.cn/svnwww 其他机器带地址 git clone git@192.168.110.21:/data/git_repo/sample.git 【path】//默认检出文件夹为sample svn checkout http://192.168.110.21:8888/svn/project/hbase 【path】//默认检出文件夹为hbase 分别测试svn提交和git提交是否触发了自动发布。 http://hbase.6.cn/gitwww/ http://hbase.6.cn/svnwww/ svn代码库显示: httpd配置的 http://192.168.110.21:8888/svn/hbase/ nginx代理过去的,把端口号优化掉,稍微好看点。 http://192.168.110.21/svn/hbase/ server { listen 80 default; … 继续阅读

发表在 git, Php, svn | 标签为 , , | 留下评论

用php编写hadoop的mapReduce程序

参考:http://blog.csdn.net/hguisu/article/details/7263746 cat wordcount.txt a b a c d f g d d g f e b a c e a /usr/local/hadoop/bin/hadoop fs -put ~/wordcount.txt phpinput bin/hadoop jar contrib/streaming/hadoop-streaming-1.0.4.jar -mapper /data/www/hbase.6.cn/svnwww/map.php -reducer /data/www/hbase.6.cn/svnwww/reduce.php -input phpinput -output phpoutput/wordcount packageJobJar: [/data/hadoop/tmp/hadoop-unjar8802229556384958300/] [] /tmp/streamjob9208716827641064676.jar … 继续阅读

发表在 hadoop | 标签为 , , | 留下评论

6月课余时间安排

最近想抽时间整理一下网站各个模块。预计6月完成。

发表在 工作总结 | 标签为 | 留下评论

imagick处理宽高值相反的问题(带旋转方向的图片)

最新ios开发者同事反馈,iPhone拍的图片(竖着拍)上传接口获取的宽高和实际的宽高正好相反。原本为2448×3264(通过mac 显示简介查看的尺寸)的图片,接口返回是 3264×2448。然后php本地测试getimagesize() 发现就是 3264×2448。 在chrome或火狐或者是safari 查看图片时看起来是竖图且标签显示为 2448×3264, 但是在ie 11 都显示的为横图,属性显示为3264×2448。 后来经过查询资料发现,图片的exif信息中有一项为orientation表示方向。ie不识别这个方向。可以理解为实际它应该是一个横图,只是方向旋转了90度。(因为肯定是想要视觉效果就是竖图)现在要想办法把它处理为一个 2448×3264 不带旋转的图片(效果和chrome等展示的一样),这样获取的宽高信息才算正确。(之前还尝试了 -strip把exif信息清理了,再用getimagesize获取还是3264×2448。) Exif的Orientation信息说明: http://blog.csdn.net/ouyangtianhan/article/details/29825885 已查到如果php用imagick的扩张: 可以用 $image = new Imagick(‘/data/wwwroot/zfabu_dev/test/IMG_5035.JPG’); $image->getImageProperty(“exif:Orientation”); 输出结果为 6 网上有个地址 http://www.markdream.com/technologies/programs/php-get-the-picture-exif-info.shtml 比较详细的说明了php获取exif 信息。这里6表示 right side top 。 通过上面那个连接参考,拍照可能出现的数值也就是 1,3,6,8,1和3分别未0和180度,应该不会颠倒宽高,只需要处理是6和8的情况了。 因为应用服务器没有安装php imagick扩张,只能想办法用命令,问的官方论坛: http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=27374 之前我在convert 参数页面搜索exif时看到了-auto-orient 这个命令。贴子里老外又正好回复了这个。 那现在我的解决方案是:判断图片的方向是为6或8时,使用-auto-orient … 继续阅读

发表在 Php | 标签为 , | 留下评论

imagick -bordercolor设置为无色

继上篇看的官方的例子用 border 0 解决帧混乱问题,但是不想添加颜色,因为有些gif背景是无色的。 http://vi0.6rooms.com/live/2015/04/03/18/1004v1428055533906138178.gif 添加了颜色后跟原图不一致了。 http://vi0.6rooms.com/live/2015/04/03/18/1004v1428055533906138178_s.gif 想着不设置bodercolor 但是文档说明这个bodercolor默认是 #DFDFDF 灰色。后来经别人指点,设置为 none 或者 transparent 。 谷歌搜索 imagick bordercolor 第一个链接 : http://www.imagemagick.org/script/color.php#color_names 可设置的颜色最下面 none transparent convert ~/Downloads/dog.gif  -coalesce -bordercolor none -border 0 -sample ’100×100′ -layers Optimize dog_s.gif 以后无这种概念要多想着用“none”这样的词表示,并多找官方文档查看。 如果不通过谷歌搜索得到那个链接,从首页找的话: site map … 继续阅读

发表在 Php | 标签为 , | 留下评论

imagick压缩gif图片问题处理

之前处理gif时会碰到小缩图,模糊的情况。一直没有处理。 这次又有ios组同事反馈 1.8M的gif图片,压缩后大缩图比原图还大,竟然为6.3M 。并且动画显示有问题。无奈去官网论坛找人求助结合看官方文档解决了这个问题。 convert -quality 80 -resize ’980×735′ game.gif game2.gif convert -quality 80 -resize ’980×735′ +repage game.gif game4.gif 貌似以上处理无用。 额外了解了: +profile “*”或-strip 可以清除图片的exif信息,可以稍微减少一点大小。 convert +profile “*” -strip ymy.jpg ymy_profile.jpg -rw-r–r– 1 www www 2748416 Nov 3 2012 ymy.jpg -rw-r–r– … 继续阅读

发表在 Php | 标签为 , | 留下评论

php array_rand函数取一个返回非数组

如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。

发表在 Php | 标签为 | 留下评论

http_build_query截取整数的大坑

-bash-3.2$ cat xx.php <?php $data = array( ‘aa’=>14123631681597879, ‘bb’ => ’1′, ); echo http_build_query($data); echo “\n”; exit; -bash-3.2$ php xx.php aa=141236316815&bb=1 数字被截掉了后面5位。 -bash-3.2$ php -v PHP 5.2.4p1 (cli) (built: Aug 29 2012 10:44:24) Copyright (c) 1997-2007 The PHP Group Zend … 继续阅读

发表在 Php | 标签为 | 留下评论

git基本操作

git clone [-b 分支名] chenlong@http://project/admin.git 不带-b参数默认master分支 git clone http://project/admin.git git clone –progress -v http://project/admin.git git.exe clone –progress -v “http://project/admin.git” “\\192.168.0.105\www\other_user\chenlong\admin” 设置 -> git 编辑本地 .git/config 增加 [credential] helper = store git clone @http://project/admin.git admin2 git checkout — application/core/MY_Exceptions.php git reset … 继续阅读

发表在 git | 标签为 , | 留下评论