收集了一些常用的代码片段

thinkphp5.1验证方法

download

设置phpstorm的属性

C:\Program Files\JetBrains\PhpStorm 2017.2.4\bin下的idea.properties,添加上需要的属性,重启phpstorm生效

  1. idea.case.sensitive.fs=true ##显式的告诉IDE我的文件系统是区分大小写的

设置composer源为阿里源

  1. composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

thinkphp5.1跨域设置

  1. Route::post('stock','api.stock/save')
  2. ->allowCrossDomain(true,['Access-Control-Allow-Headers'=>'Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If-Unmodified-Since, X-Requested-With,X-ACCESS-TOKEN']);

生成随机字符

  1. //随机字符
  2. //DlxB4Z1tj3E=
  3. var_dump(base64_encode(random_bytes(8)));
  4. //a0b6505900b062dd
  5. var_dump(bin2hex(random_bytes(8)));
  6. //适用于token场景,结果如 E9tTzcFefvc=
  7. var_dump(base64_encode(openssl_random_pseudo_bytes(8)));
  8. //98217f9b95cc4778
  9. var_dump(bin2hex(openssl_random_pseudo_bytes(8)));
  10. //加密字符
  11. //$2y$10$332YBXZ3SznRWOIK6fNP5.PGzQCb9AbMgGNRj0llhgOzd2xIAO0c.
  12. var_dump(password_hash(microtime(true), PASSWORD_DEFAULT));
  13. //1e9a09a18c72531ca7f7bb57d742a4a6a62d00902f85872674e004597d10192e
  14. var_dump(hash_hmac('sha256', microtime(true), 'secret'));
  15. //HpoJoYxyUxyn97tX10KkpqYtAJAvhYcmdOAEWX0QGS4=
  16. var_dump(base64_encode(hash_hmac('sha256', microtime(true), 'secret',true)));
  17. //随机整数
  18. var_dump(random_int(100, 999));//加密随机整数
  19. var_dump(rand(100, 999));//普通随机
  20. var_dump(mt_rand(100, 999));//更快的随机

获取请求的原始数据

  1. $data = file_get_contents("php://input");

显示错误

  1. ini_set('display_errors',1);
  2. ini_set('display_startup_errors',1);
  3. error_reporting(-1);

服务器跨域

  1. header("Access-Control-Allow-Origin:*");

语法糖

  1. //表达式 && 语句; <=> if(表达式) 语句;
  2. //例如
  3. is_array($total) && $total = current($total);
  4. //等效于
  5. if(is_array($total)) $total = current($total);

文件相关

  1. $file_ext = pathinfo($file,PATHINFO_EXTENSION);//获取文件后缀
  2. $file_name = pathinfo($file,PATHINFO_FILENAME);//从路径中获取文件(不包含后缀)
  3. $file_basename = pathinfo($file,PATHINFO_BASENAME);//从路径中获取文件(包含后缀)
  4. $file_mimetype = finfo_file(finfo_open(FILEINFO_MIME_TYPE),$local_file_path);获取文件mimetpye,文件必须在本地
  5. //文件hash
  6. openssl_digest(file_get_contents($file), 'sha256');//获取文件hash码,64位
  7. //写入系统临时文件
  8. $tempnam = tempnam(sys_get_temp_dir(),'prefix');
  9. file_put_contents($tempnam,file_get_contents($url));//$url可以是公网地址

格式化行文本

  1. $s = "lsh
  2. hemispheren
  3. ";
  4. $arr = explode(PHP_EOL, $s);
  5. array_walk($arr, function(&$v){
  6. $v = trim($v);
  7. });
  8. var_dump(implode(',', $arr));//lsh,hemispheren