Laravel 上传 Docx 文件,表单验证不通过

今天客户反映,上传文件报错。 拿到客户的文件 xxxx.docx 自己测试,接口返回 file 必须是一个 jpeg, bmp, png, jpg, doc, docx, xls, xlsx, pdf 类型的文件。,表单验证没通过。 但是项目配置里面已经允许 docx 类型的文件了,为啥会提示文件类型不对。 打印了下文件的 mimeType,结果为 application/vnd.openxmlformats-officedocument.wordprocessingml.document。 了解了下 openxml: Office Open XML(缩写:Open XML、OpenXML或OOXML),为由 Microsoft 开发的一种以 XML 为基础并以ZIP格式压缩的电子文件规范,支持文件、表格、备忘录、幻灯片等文件格式。 ——openxml 既然以 ZIP 格式压缩,那给允许的文件类型里面加上 zip 试试。 试了一下,可以通过验证了。

2022-03-16 · 王二

PHP判断指定日期是否为工作日

PHP 借助百度接口判断指定日期是否为工作日

2018-12-08 · 王二

PHP Ajax 跨域请求允许多个域名

PHP Ajax 跨域请求允许多个域名

2018-02-26 · 王二

批量检查并清除BOM头

经常碰到各种头疼问题,网页空白不显示等等,好多情况下都是BOM头引起的,但是又不知道是哪个文件有BOM头,于是搜了一下,发现一个批量检查并自动清除BOM头的工具,分享给大家。 <?php if (isset($_GET['dir'])){ //设置文件目录 $basedir=$_GET['dir']; }else{ $basedir = '.'; } $auto = 1; checkdir($basedir); function checkdir($basedir){ if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..'){ if (!is_dir($basedir."/".$file)) { echo "filename: $basedir/$file".checkBOM("$basedir/$file")." <br>"; }else{ $dirname = $basedir."/".$file; checkdir($dirname); } } } closedir($dh); } } function checkBOM ($filename) { global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) { if ($auto == 1) { $rest = substr($contents, 3); rewrite ($filename, $rest); return ("<font color=red>BOM found, automatically removed....

2015-06-30 · 王二

PHP获取指定时区当前时间-PHP获取世界时钟

公司一个项目中需要展现几个不同时区的当前时间,由于php技术很菜,遂百度之,综合各种结果写了下边小函数。 function world_time($timezone_identifiers)//获取指定时区当前时间 { date_default_timezone_set($timezone_identifiers); //设置默认时区为指定时区 echo date('H:i:s',time()); //输出指定时区当前时间 date_default_timezone_set('RPC'); //将默认时区调回为北京时间 } <li>日本:<?php world_time('Asia/Tokyo'); ?></li> <li>香港:<?php world_time('Asia/Hong_Kong'); ?></li> <li>伦敦:<?php world_time('Europe/London'); ?></li> <li>纽约:<?php world_time('America/New_York'); ?></li>

2015-05-04 · 王二

php判断是否手机访问-php判断访问终端类型

php判断是否手机访问-php判断访问终端类型 $agent = check_wap(); if( $agent ) { header('Location: /m/'); exit; } // check if wap function check_wap(){ // 先检查是否为wap代理,准确度高 if(stristr($_SERVER['HTTP_VIA'],"wap")){ return true; } // 检查浏览器是否接受 WML. elseif(strpos(strtoupper($_SERVER['HTTP_ACCEPT']),"VND.WAP.WML") > 0){ return true; } //检查USER_AGENT elseif(preg_match('/(blackberry|configuration\/cldc|hp |hp-|htc |htc_|htc-|iemobile|kindle|midp|mmp|motorola|mobile|nokia|opera mini|opera |Googlebot-Mobile|YahooSeeker\/M1A1-R2D2|android|iphone|ipod|mobi|palm|palmos|pocket|portalmmm|ppc;|smartphone|sonyericsson|sqh|spv|symbian|treo|up.browser|up.link|vodafone|windows ce|xda |xda_)/i', $_SERVER['HTTP_USER_AGENT'])){ return true; } else{ return false; } }

2015-03-25 · 王二

1970年1月1日(00:00:00 GMT)Unix时间戳(Unix Timestamp)

今天在看 Python API 时,看到time模块: The epoch is the point where the time starts. On January 1st of that year, at 0 hours,the “time since the epoch” is zero. For Unix, the epoch is 1970. To find out what the epoch is, look at gmtime(0). 定义time从1970年1月1日开始,忽然想到在JAVA里,Oracle数据库时间也是从1970年1月1日开始计算。 比如java类代码: Date date = new Date(0); System.out.println(date); 打印出来的结果: Thu Jan 01 08:00:00 CST 1970 也是1970年1月1日,实际上时分秒是0点0分0秒(这里打印出来是8点,稍后会作解释)。 为什么这个时间会定义在1970年1月1日这个时候呢? 于是开始了Google,中文网页根本找不到答案。于是试着搜索英文关键字,在 Sun java 论坛总算找到准确的帖子: http://forums.sun.com/thread.jspa?threadID=595140&start=15 其中有一个回复: I suspect that Java was born and raised on a UNIX system....

2013-11-04 · 王二