我们看看官方怎么说:
http://php.net/manual/zh/configuration.file.per-user.php
自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。
小白表示没看懂~
我们看看官方怎么说:
http://php.net/manual/zh/configuration.file.per-user.php
自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。
小白表示没看懂~
字符串截取支持中文html
/**
* 清除html标签,字符串截取
* 支持中文
* @author TechLee
*/
function substr_cn($str, $length = 0, $start = 0, $charset = "utf-8", $suffix = true)
{
$str = function_exists('clear_tags') ? clear_tags($str) : strip_tags($str);
if ($length > 0 && mb_strlen($str, $charset) <= $length) {
return $str;
}
$slice = $length > 0 ? mb_substr($str, $start, $length, $charset) : $str;
if ($suffix) {
return $slice . "…";
}
return $slice;
}
echo substr_cn('PHP是世界上最好的语言,是宇宙第一语言!', 10);
// 输出:
单纯用php原生函数 strip_tags 清除仍有残留和空格,下面的方法完美解决,将html转换为纯文本。
/**
* 清除html标签
*/
function clear_tags($str)
{
$str = strip_tags($str);
//首先去掉头尾空格
$str = trim($str);
$str = preg_replace("/(\s|\ \;| |\xc2\xa0)/", "", strip_tags($str));
//接着去掉两个空格以上的
$str = preg_replace('/\s(?=\s)/', '', $str);
//最后将非空格替换为一个空格
$str = preg_replace('/[\n\r\t]/', ' ', $str);
return $str;
}
// echo clear_tags('<p>Hello,World!!!</p>');
// 输出:
laravel 安装后是单模块应用,但通常情况下,我们的项目往往会有很多模块,如果按单模块去做,文件目录会异常庞大,不利于维护,耦合性太大。 那么下面就详细说一下利用最新laravel5.5如何进行分模块开发。
composer create-project --prefer-dist laravel/laravel ./
格式化输出json,php版本要求5.4或更高
/**
* 浏览器友好的变量输出json格式
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为true 如果为false 则返回输出字符串
* @return void|string
* @author TechLee
*/
function ddj($var, $echo = true)
{
header('content-type:application/json;charset=utf8');
$output = json_encode($var, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
if ($echo) {
echo ($output);
return;
} else {
return $output;
}
}PHP输出变量函数print_r和var_dump,没有格式化,易读性太差
下面结合thinkphp礼包dump函数改进的
/**
* 浏览器友好的变量输出
* @param mixed $var 变量
* @param boolean $echo 是否输出 默认为true 如果为false 则返回输出字符串
* @param string $label 标签 默认为空
* @return void|string
* @author TechLee
*/
function ddp($var, $echo = true, $label = null, $flags = ENT_SUBSTITUTE)
{
$label = (null === $label) ? '' : rtrim($label) . ':';
ob_start();
var_dump($var);
$output = ob_get_clean();
$output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output);
if (!extension_loaded('xdebug')) {
$output = htmlspecialchars($output, $flags);
Cannot send session cache limiter - headers already sent (output started at...) on line ...
在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order Mark)
<?php
if (isset($_GET['dir'])) {
// config the basedir
$basedir = $_GET['dir'];
} else {
$basedir = '.';
}
$auto = 1;
checkdir($basedir);
mcrypt 扩展已经过时了大约10年,并且用起来很复杂。因此它被废弃并且被 OpenSSL 所取代。 从PHP 7.2起它将被从核心代码中移除并且移到PECL中。
PHP手册在7.1迁移页面给出了替代方案,就是用OpenSSL取代MCrypt.
/**
* [AesSecurity aes加密,支持PHP7.1]
*/
class AesSecurity
{
/**
* [encrypt aes加密]
* @param [type] $input [要加密的数据]
* @param [type] $key [加密key]
* @return [type] [加密后的数据]
*/
public static function encrypt($input, $key)
{
$data = openssl_encrypt($input, 'AES-128-ECB', $key, OPENSSL_RAW_DATA);
$data = base64_encode($data);
return $data;
}
/**
* [decrypt aes解密]
* @param [type] $sStr [要解密的数据]
* @param [type] $sKey [加密key]
* @return [type] [解密后的数据]
*/
public static function decrypt($sStr, $sKey)
{
$decrypted = openssl_decrypt(base64_decode($sStr), 'AES-128-ECB', $sKey, OPENSSL_RAW_DATA);
return $decrypted;
}
}可据需求,自行改编。
php开发工具众多,主要有两类,一类是普通文本编辑器,另一类是集成开发工具(IDE)。
普通文本编辑器:
1、Sublime Text
2、微软的跨平台代码编辑器 visual studio code
3、Atom
4、还有notepad++,editplus,vi等等不再列举
集成开发工具(IDE)
1、zend官方的zend studio
2、JetBrains 公司的PhpStom
3、netbeans IED for php
4、eclipse for php
……
1、ThinkPHP 国人自己的
2、laravel 以优雅著称
3、Yii 快速、安全、专业 的 PHP 框架
4、zend framework zend自家的
5、Yaf(Yet Another Framework) 高性能的C语言编写的框架
6、phalcon使用 C 扩展编写、针对高性能优化的 PHP 框架
7、CodeIgniter、CakePHP、Symfony 等等
慕课网(IMOOC)是IT技能学习平台。慕课网(IMOOC)提供了丰富的移动端开发、php开发、web前端、android开发以及html5等视频教程资源公开课。并且富有交互性及趣味 性,你还可以和朋友一起编程。
云课堂是网易公司研发的一款大型在线教育平台服务,该平台面向学习者提供海量免费、优质课程,创新的个性化学习体验, 自由开放的交流互动环境。继网易公开课后,云课堂是网易公司在教育领域的又一重量级产品。
腾讯课堂-腾讯推出的专业在线教育平台,聚合大量优质教育机构和名师,下设职业培训、公务员考试、托福雅思、考证考级、英语口语、中小学教育等众多在线学习精品课程,打造老师在线上课教学、学生及时互动学习的课堂。腾讯课堂,学习成就梦想!
4、极客学院IT在线教育平台-中国专业的IT职业在线教育平台
极客学院作为中国专业IT职业在线教育平台,拥有海量高清IT职业课程,涵盖30+个技术领域,如Android,iOS ,Flash,Java,Python,HTML5,Swift,Cocos2dx等视频教程.根据IT在线学习特点,极客学院推出IT学习知识体系图,IT职业学习实战路径图,帮助IT学习者从零基础起步,结合IT实战案例演练,系统学习,助你快速成为IT优秀技术人才!
5、优酷学堂
优质课程、智能问答、趣味实践、随心笔记、教育、优酷公开课、计算机开发、交互视觉设计、Udacity、it、互联网、会计、视频教程、交流互动、免费、名师、实用、培训
专业企业官网建设,塑造企业形象,传递企业价值
系统软件开发,用心思考,用心设计,用心体验
打破技术瓶颈,让不堪重负的项目起死回生
构建全渠道一体化运营能力,实现全链路数字化
文案撰写、营销策划,专注品牌全案
一站式解决企业互联网营销痛点和难题
以技术的力量,改变互联网
联系我们