Tag: php
PHP Apps in a Subdirectory in Nginx
What We’re Using The server is Ubuntu 16.04, , we install Nginx 1.13 and PHP 7.2. The example PHP applications are Laravel 5.5. PLUS Docker ENV: https://github.com/yao3060/docker TL;DR Here’s the working configuration to have two Laravel apps working, where one application exists in a subdirectory of another. How This Works Let’s cover some details of…
Get first or last element from PHP array()
$stack = array(“orange”, “banana”, “apple”, “raspberry”); $last_value = array_pop($stack); // return “raspberry” $first_value = array_shift(array_values($stack)); // return “orange”
PHP多维数组根据内部元素排序
PHP multi array sort by an element nested inside 倘若让数组根据[data]元素的大小重新排序: $data = array( array( ‘name’=>’Julie’, ‘key’=>’64489c85dc2fe0787b85cd87214b3810’, ‘age’=>20 ), array( ‘name’=>’Martin’, ‘key’=>’bb07c989b57c25fd7e53395c3e118185’, ‘age’=>18 ), array( ‘name’=>’Lucy’, ‘key’=>’ab3aec6d954571c7551a186ea1cd98ff’, ‘age’=>100 ), array( ‘name’=>’Jessica’, ‘age’=>25, ‘key’=>’e1a118c9178aa3538f39a9c8131938ed’ ), ); 使用 usort 重排 class itcArraySort { private $arr = array(); public function __construct($arr) { $this->arr = $arr; } public function doSort($key,$order=’ASC’)…
php 法语字母排序
if($langcode == ‘fr’){ setlocale(LC_COLLATE, ‘fr_CA.utf8’); } ksort($array,SORT_LOCALE_STRING); 法语字幕有声调,往往在默认排序上会有些问题。上面的代码可以解决法语字母排序错误的问题。 同样可以应用于 sort asort 等等
PHP数据类型转换
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: (int)、(integer):转换成整形 (float)、(double)、(real):转换成浮点型 (string):转换成字符串 (bool)、(boolean):转换成布尔类型 (array):转换成数组 (object):转换成对象 PHP数据类型有三种转换方式: 在要转换的变量之前加上用括号括起来的目标类型 使用3个具体类型的转换函数,intval()、floatval()、strval() 使用通用类型转换函数settype(mixed var,string type) 第一种转换方式: (int) (bool) (float) (string) (array) (object) <?php $num1=3.14; $num2=(int)$num1; var_dump($num1); //输出float(3.14) var_dump($num2); //输出int(3) ?> 第二种转换方式: intval() floatval() strval() <?php $str=”123.9abc”; $int=intval($str); //转换后数值:123 $float=floatval($str); //转换后数值:123.9 $str=strval($float); //转换后字符串:”123.9″ ?> 第三种转换方式: settype(); <?php $num4=12.8; $flg=settype($num4,”int”); var_dump($flg); //输出bool(true) var_dump($num4); //输出int(12) ?> from:http://banu.blog.163.com/blog/static/231464820101122114438674/
PHP MAIL 抄送(CC)
// 更多报头 $headers .= “From: 姚迎迎 “. “\r\n” .”CC: yao3060@gmail.com, yao3060@hotmail.com”; 突然发现 php mail 函数 抄送的时候, header 里用 单引号 (‘) 竟然会有错误,一定要用双引号。。。。。。 NND 这一直是一个误解,其实 \r\n 必须使用双引号(””)
Windows2k3配置PHP服务器环境
其实感觉一个个下载了安装也挺麻烦的,其实大家都知道PHP,APACHE, MYSQL 之类的软件对其他软件的依赖性都很小,所示我想了个偷懒的方法。 下载Xampp,这是一个很好用的集成环境,体积也很小。 下载了安装到,且安装到 D 盘吧,D:/XAMPP 安装其实就是一个解压的过程,解压完成了会跳出一个 MSDOS 窗口,大多都可以 yes pass,其实我想说的是不用启动那些服务先,因为apache默认的 80 端口已经被 IIS 占用了。所以我想解压完成后 打开 D:/XAMPP 文件夹下 xampp-control.exe 文件,手动去启动一些服务。 首先, apache 是不需要了,把 MYSQL 前面的 Svc 打上钩,将mysql添加到计算机服务里,然后启动mysql。 Filezilla,一个开源的FTP服务器,windows 下的ftp软件基本都要收费,这是个很好的代替品。 其他就暂时不需要了。 接下来打开 D:/XAMPP/PHP 文件下,将该文件夹下的所有 dll 文件复制到 C:\WINDOWS\SYSTEM32 下,如有同名文件存在,覆盖之。 重命名php.ini-dist 为 php.ini,用文本编辑器打开编辑。 查找 register_globals = Off; 打开这个设置为 On。开启全局变量支持功能。 搜索 extension_dir = “./” , 修改为 “D:/xampp/php/ext”。 查找…
PHP类的CMS
1.DEDECMS(织梦内容管理系统) 官方网址:http://dedecms.com 特点:是国内完全开源的一款CMS系统,可以自主进行二次开发,最新的V5版本又有了一些新的改进和功能 的添加.最新的版本的模板已经应用了DIV+CSS的模式使的网页更符合标准. 评价:这是一套令人爱憎分明的系统,首先它是国内一款开源的系统,2.x的时候功能都已经另它的fans 为之疯狂,非常灵活的定制,强大的功能,简洁的操作,但2.x的瓶颈问题:大数据处理,到3.0的时候可 能会解决,但3.0的一直跳票,迟迟不见发布,另很多人都非常失望,3.0的时候原来的问题好像也没有什 么改进,现在已经出了4.0,最新的版本是DEDE2007 V5,原来的大数据处理问题已经得到了相应的解决. 2.ECMS(帝国内容管理系统) 官方网址:http://www.phome.net/ 特点:她采用了系统模型功能:用户通过此功能可直接在后台扩展与实现各种系统,如产品、房产、供 求、等等系统,因此特性,帝国CMS又被誉为“万能建站工具”;采用了模板分离功能:把内容与界面完 全分离,灵活的标签+用户自定义标签,使之能实现各式各样的网站页面与风格;栏目无限级分类;前台 全部静态:可随受强大的访问量;强大的信息采集功能;超强广告管理功能等 评价:可以说这个是最让我值得写的东西,作者wm_chief简直是个狂人;一个人搞定数据库管理,论坛 ,新闻,下载,flash,域名交易系统等,还包括JSP的版本,都是自己一个人写,还有一个人搞定后期服 务,客户支持,产品宣传。还要每天抽时间灌水AD等,现在应该已经不是他一个人了.ECMS的功能非常多 ,包括下载,flash,商城,图片,新闻,分类信息,电影系统,文章系统,友情链接,广告管理等,比如一 些远程发布,刷新效率,类别管理,权限细分,万能的论坛接口,信息采集,附件管理等这些都是Ecms特 别的亮点.以前大家对ECMS都是可望而不可及的,因为以前都是商业性质的,而现在它已经在网站上号称全 部开源了,不管会不会持久但现在大家可以到它的官方网站上去下载最新的版本体验一下ECMS带来的方便 吧. 3.PHPCMS 官方网址:www.phpcms.cn 特点:采用模块化开发,可自由安装和卸载,并提供程序源代码和模块开发文档,功能可扩展更方便 PHPCMS 2007 由文章、下载、图片、分类信息、影视、商城、采集、会员、财务、推广联盟、广告 管理、企业黄页、房产、问吧、Digg 等20多个功能模块组成。用户不仅可以选择性安装所需功能模块, 而且还可以根据开发文档自行开发新的功能模块以满足个性化需求。 评价:好像以前是9466Article的官方,本来9466做得挺好的,不知为什么突然zend加密了,继承了9466 的优点,上手,结构,提供插件接口,可自主开发插件,自主制作语言包,自主设计模板风格,免费版可 永久使用,功能还可以。 4.okphpcms 官方网址:http://cn.okphp.com/ 特点支持简、繁、英文)功能齐备。文章类别、扩展类别、访问统计、安全日志等功能使您对网站的 管理更专业。权限系统成熟。您可以将网站上的信息资源,依据会员组分配读取和操作授权。 排版自由。可通过在模板文件中插入或修改标签来实现数据的个性化调用。类别扩展。 灵活建立产品目 录、下载资源、多媒体播放等扩展类别。商务功能。完美整合文章类别和扩展类别,轻松实现网上购物与 定单系统功能。安全措施严禁。代码设计周密,并且所有外部来源信息均经过截流伐严格检查,加强对恶 意攻击的防范。动态缓存技术。有效降低服务器负载,使您的网站运行更流畅。内部高压测试。特邀多名 专业网站建设人士做发布前的最后测试更加完美 评价:同样加密的,免费版也不见怎么有人用,系统倒是开发了好久了,整合了论坛,blog,新闻, 分有企业版,门户版,还有免费的,看起来像老外的Nuke,不过可以在网上下载到相关的安装程序. 5.随易全站系统(Cmsez) 官方网址:http://www.cmsez.com 特点:随易全站系统(Cmsez)是门道科技推出的企业级建站平台系统,致力于帮助企业提高运作效率、降 低建站成本、拓展商业机会,是一种高度可管理、低成本、易部署的IT建站平台。Cmsez集成了丰富的功 能模块,包括用户管理、新闻发布、信息发布、产品展示、图片管理、附件管理、在线商店、资料下载、 多媒体浏览/播放等。额外针对特殊行业,提供酒店房间预订、旅游线路预订、招聘信息管理、信 息简报等功能模块。 评价:程序的作者是一个非常有活力的家伙,是一款国产的开源系统.他也是出于个人爱好做这个,而且 主要面向企业用户,Cmsez集成了丰富的功能模块. 6.思维内容管理系统(CMSware) 官方网址:http://www.lonmo.com/ 特点: 一、具备实用的网站内容管理功能,并能完全自定义的规划和管理网站的内容组成及表现风格 二、论坛专区&QQ群支持…
SugarCRM 5.2 中文语言包安装
软件下载就不用说了 Sugar Community Edition 5.2.0i 下载地址: http://www.sugarforge.org/content/downloads/ 5.2的语言包下载地址: http://www.sugarforge.org/softwaremap/trove_list.php?form_cat=386 这儿很多语言包,在页面里搜索 “Simplified Chinese Language Pack”,点后面的 download 下载中文语言包 (CE)版本 好了,就可以安装了,上传到服务器,都是下一步下一步的事情。安装完是英文版本的,根据网上搜索的结果,对于中文语言包的安装大体是这样描述的。 1:C:\Program Files\sugarcrm-5.0.0\htdocs\sugarcrm下 修改config.php 文件 array ( ‘en_us’ => ‘US English’, ‘zh-cn’ => ‘Simplized Chinese’ , 添加一行 2:把下载回来的两个语言包的两个文件夹覆盖到C:\Program Files\sugarcrm-5.0.0\htdocs\sugarcrm 这个目录下。 这要就可以使用了 我不知道这个方法行不行,反正我用的 5.2+ 的版本不行。 其实5.2+的版本安装语言包很容易,进入管理界面,在右上角的一排菜单中找到 “Admin“,打开。 页面向下翻 找到 “Developer Tools“,打开里面的 “Module Loader” ,OK,上传你的语言包,然后点击 “install” 安装。到这儿语言包安装就完成了。 接下来回到 “Admin” 界面,打开…
php session tmp 路径错误
PHP出现 Warning: session_start() [function.session-start]: open Warning: session_start() [function.session-start]: open(/tmp\sess_84cb589ea249708b09c3d5e6836fdd0d, O_RDWR) failed: No such file or directory (2) in E:\web\htdocs\111.php on line 9 这个是session的tmp路径没有设置的缘故 你在php.ini(通常在C:\windows\ 目录下)的session.save_path设置一个路径就可以了,并且这个路径是有效的。比如:c:\winnt\temp
PhpMyAdmin 错误 "Cannot load mysql extension. Please check your PHP configuration"
Cannot load mysql extension. Please check your PHP configuration. ;extension=php_mysql.dll ==>> extension=php_mysql.dll ;extension=php_mysqli.dll ==>> extension=php_mysqli.dll extension_dir “” ==>> extension_dir = “C:\Program Files\PHP” Content of config.inc.php is: <? $cfg[‘Servers’][1][‘host’] = ‘localhost’; $cfg[‘Servers’][1][‘extension’] = ‘mysql’; $cfg[‘Servers’][1][‘connect_type’] = ‘tcp’; $cfg[‘Servers’][1][‘compress’] = false; $cfg[‘Servers’][1][‘auth_type’] = ‘config’; $cfg[‘Servers’][1][‘user’] = ‘root’; $cfg[‘Servers’][1][‘password’] = ‘aaaa’; ?>
"Fatal error: Maximum execution time"
“Fatal error: Maximum execution time of 60 seconds exceeded in …” 这种错误大多出现在一些执行时间比较久的程序,例如循环、读取、上传等等(瞎写凑字数)。 大多原因在于 PHP 环境的PHP.ini 里的 max_execution_time 的设置,30,60,90….,但是有时候我们需要更长的时间,几小时,几十小时,总不可能都在这儿修改,况且大多空间是不让你改的。 这样最简便的方法就是在程序头加上这样一句: set_time_limit(0); 不限制执行时间,OK,问题就算解决了!
Fatal error: Call to undefined function: stripos()
为什么会有这样的错误 “Fatal error: Call to undefined function: stripos()”? 查看了下手册: stripos (PHP 5) stripos — Find position of first occurrence of a case-insensitive string 原来他是个PHP5作用的函数,但是网路上还是有很多服务空间是用的 php 4.3, 那么可以用下面的方法解决这个问题:
php代码出现错误分析详解
由于最近总是接触到php,经常会出现一些错误,特把php的常见的错误代码收集了下,希望对大家有帮助。 错误类型: 一、未使用二进制上传 代码: Fatal error: This encoded file is corrupted. Please refer to http://www.zend.com/support/support_faq.php?id=loader_file_corrupt for further help in /webhome/****.com/web/www/index.php on line 0 二、数据表中缺少字段 代码: An error was encountered Boka SiteEngine 数据库错误 错误信息1054: Unknown column ‘tuijian’ in ‘where clause’ 出现错误的查询信息是 SELECT * FROM boka_product WHERE tuijian=1 AND classid IN (‘1′,’0’)ORDER BY id DESC LIMIT 4…
php中mail()函数中中文乱码的解决
一边这种问题出现的原因是 mail() 函数的 header 参数里少了 Content-type: text/html; charset=utf-8,或者 charset 不是utf-8。很多国外的PHP程序一开始开发的时候没有吧中文考虑进去,所以中文使用的时候就会出现乱码。
PHP常用函数
一些常用的PHP函数 function GetIP() { //获取IP if ($_SERVER[“HTTP_X_FORWARDED_FOR”]) $ip = $_SERVER[“HTTP_X_FORWARDED_FOR”]; else if ($_SERVER[“HTTP_CLIENT_IP”]) $ip = $_SERVER[“HTTP_CLIENT_IP”]; else if ($_SERVER[“REMOTE_ADDR”]) $ip = $_SERVER[“REMOTE_ADDR”]; else if (getenv(“HTTP_X_FORWARDED_FOR”)) $ip = getenv(“HTTP_X_FORWARDED_FOR”); else if (getenv(“HTTP_CLIENT_IP”)) $ip = getenv(“HTTP_CLIENT_IP”); else if (getenv(“REMOTE_ADDR”)) $ip = getenv(“REMOTE_ADDR”); else $ip = “Unknown”; return $ip; }