<p>具体上代码:</p><p><br/></p><pre style="background-color:#262e37;color:#ffffff;font-family:'Consolas',monospace;font-size:11.3pt;"><span style="color:#66837f;background-color:#191f26;">// </span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">导入</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span><span style="color:#f92672;">public function </span><span style="color:#a6e22e;">import</span>(){<br/> $file <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">request</span>(<span style="color:#e6db74;">'file'</span>);<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">!</span>$file) {<br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>(<span style="color:#a6e22e;">__</span>(<span style="color:#e6db74;">'Parameter %s can not be empty'</span>, <span style="color:#e6db74;">'file'</span>));<br/> }<br/> $filePath <span style="color:#f92672;">= </span><span style="color:#cc90dc;font-weight:bold;font-style:italic;">ROOT_PATH </span><span style="color:#f92672;">. </span><span style="color:#cc90dc;font-weight:bold;font-style:italic;">DS </span><span style="color:#f92672;">. </span><span style="color:#e6db74;">'public' </span><span style="color:#f92672;">. </span><span style="color:#cc90dc;font-weight:bold;font-style:italic;">DS </span><span style="color:#f92672;">. </span>$file;<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">!</span><span style="color:#66d9ef;font-style:italic;">is_file</span>($filePath)) {<br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>(<span style="color:#a6e22e;">__</span>(<span style="color:#e6db74;">'No results were found'</span>));<br/> }<br/> <span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">实例化</span><span style="color:#66837f;background-color:#191f26;">reader</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$ext <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">pathinfo</span>($filePath, <span style="color:#cc90dc;font-weight:bold;font-style:italic;">PATHINFO_EXTENSION</span>);<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">!</span><span style="color:#66d9ef;font-style:italic;">in_array</span>($ext, [<span style="color:#e6db74;">'csv'</span>, <span style="color:#e6db74;">'xls'</span>, <span style="color:#e6db74;">'xlsx'</span>])) {<br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>(<span style="color:#a6e22e;">__</span>(<span style="color:#e6db74;">'Unknown data format'</span>));<br/> }<br/> <span style="color:#f92672;">if </span>($ext <span style="color:#f92672;">=== </span><span style="color:#e6db74;">'csv'</span>) {<br/> $file <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">fopen</span>($filePath, <span style="color:#e6db74;">'r'</span>);<br/> $filePath <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">tempnam</span>(<span style="color:#66d9ef;font-style:italic;">sys_get_temp_dir</span>(), <span style="color:#e6db74;">'import_csv'</span>);<br/> $fp <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">fopen</span>($filePath, <span style="color:#e6db74;">"w"</span>);<br/> $n <span style="color:#f92672;">= </span><span style="color:#ae81ff;">0</span>;<br/> <span style="color:#f92672;">while </span>($line <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">fgets</span>($file)) {<br/> $line <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">rtrim</span>($line, <span style="color:#e6db74;">"</span><span style="color:#ae81ff;">\n\r\0</span><span style="color:#e6db74;">"</span>);<br/> $encoding <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">mb_detect_encoding</span>($line, [<span style="color:#e6db74;">'utf-8'</span>, <span style="color:#e6db74;">'gbk'</span>, <span style="color:#e6db74;">'latin1'</span>, <span style="color:#e6db74;">'big5'</span>]);<br/> <span style="color:#f92672;">if </span>($encoding <span style="color:#f92672;">!= </span><span style="color:#e6db74;">'utf-8'</span>) {<br/> $line <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">mb_convert_encoding</span>($line, <span style="color:#e6db74;">'utf-8'</span>, $encoding);<br/> }<br/> <span style="color:#f92672;">if </span>($n <span style="color:#f92672;">== </span><span style="color:#ae81ff;">0 </span><span style="color:#f92672;">|| </span><span style="color:#66d9ef;font-style:italic;">preg_match</span>(<span style="color:#e6db74;">'/</span><span style="color:#e6db74;background-color:#191f26;">^".*"$</span><span style="color:#e6db74;">/'</span>, $line)) {<br/> <span style="color:#66d9ef;font-style:italic;">fwrite</span>($fp, $line <span style="color:#f92672;">. </span><span style="color:#e6db74;">"</span><span style="color:#ae81ff;">\n</span><span style="color:#e6db74;">"</span>);<br/> } <span style="color:#f92672;">else </span>{<br/> <span style="color:#66d9ef;font-style:italic;">fwrite</span>($fp, <span style="color:#e6db74;">'"' </span><span style="color:#f92672;">. </span><span style="color:#66d9ef;font-style:italic;">str_replace</span>([<span style="color:#e6db74;">'"'</span>, <span style="color:#e6db74;">','</span>], [<span style="color:#e6db74;">'""'</span>, <span style="color:#e6db74;">'","'</span>], $line) <span style="color:#f92672;">. </span><span style="color:#e6db74;">"</span><span style="color:#ae81ff;">\"\n</span><span style="color:#e6db74;">"</span>);<br/> }<br/> $n<span style="color:#f92672;">++</span>;<br/> }<br/> <span style="color:#66d9ef;font-style:italic;">fclose</span>($file) <span style="color:#f92672;">|| </span><span style="color:#66d9ef;font-style:italic;">fclose</span>($fp);<br/><br/> $reader <span style="color:#f92672;">= new </span><span style="color:#f57dac;">Csv</span>();<br/> } <span style="color:#f92672;">elseif </span>($ext <span style="color:#f92672;">=== </span><span style="color:#e6db74;">'xls'</span>) {<br/> $reader <span style="color:#f92672;">= new </span><span style="color:#f57dac;">Xls</span>();<br/> } <span style="color:#f92672;">else </span>{<br/> $reader <span style="color:#f92672;">= new </span><span style="color:#f57dac;">Xlsx</span>();<br/> }<br/><br/> <span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">导入文件首行类型</span><span style="color:#66837f;background-color:#191f26;">,</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">默认是注释</span><span style="color:#66837f;background-color:#191f26;">,</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">如果需要使用字段名称请使用</span><span style="color:#66837f;background-color:#191f26;">name</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$importHeadType <span style="color:#f92672;">= isset</span>($this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">importHeadType</span>) <span style="color:#f92672;">? </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">importHeadType </span><span style="color:#f92672;">: </span><span style="color:#e6db74;">'comment'</span>;<br/><br/> $table <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">model</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">getQuery</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getTable</span>();<br/> $database <span style="color:#f92672;">= </span>\<span style="color:#f57dac;">think</span>\<span style="color:#e1e1e1;">Config</span><span style="color:#f92672;">::</span><span style="color:#a6e22e;">get</span>(<span style="color:#e6db74;">'database.database'</span>);<br/> $fieldArr <span style="color:#f92672;">= </span>[];<br/> $list <span style="color:#f92672;">= </span><span style="color:#a6e22e;">db</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">query</span>(<span style="color:#e6db74;">"</span><span style="color:#e6db74;background-color:#191f26;">SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ? AND TABLE_SCHEMA = ?</span><span style="color:#e6db74;">"</span>, [$table, $database]);<br/> <span style="color:#f92672;">foreach </span>($list <span style="color:#f92672;">as </span>$k <span style="color:#f92672;">=> </span>$v) {<br/> <span style="color:#f92672;">if </span>($importHeadType <span style="color:#f92672;">== </span><span style="color:#e6db74;">'comment'</span>) {<br/> $fieldArr[$v[<span style="color:#e6db74;">'COLUMN_COMMENT'</span>]] <span style="color:#f92672;">= </span>$v[<span style="color:#e6db74;">'COLUMN_NAME'</span>];<br/> } <span style="color:#f92672;">else </span>{<br/> $fieldArr[$v[<span style="color:#e6db74;">'COLUMN_NAME'</span>]] <span style="color:#f92672;">= </span>$v[<span style="color:#e6db74;">'COLUMN_NAME'</span>];<br/> }<br/> }<br/><br/> <span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">加载文件</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span>$insert <span style="color:#f92672;">= </span>[];<br/> <span style="color:#f92672;">try </span>{<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">!</span>$PHPExcel <span style="color:#f92672;">= </span>$reader<span style="color:#f92672;">-></span><span style="color:#a6e22e;">load</span>($filePath)) {<br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>(<span style="color:#a6e22e;">__</span>(<span style="color:#e6db74;">'Unknown data format'</span>));<br/> }<br/> $currentSheet <span style="color:#f92672;">= </span>$PHPExcel<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getSheet</span>(<span style="color:#ae81ff;">0</span>); <span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">读取文件中的第一个工作表</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span>$allColumn <span style="color:#f92672;">= </span>$currentSheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getHighestDataColumn</span>(); <span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">取得最大的列号</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span>$allRow <span style="color:#f92672;">= </span>$currentSheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getHighestRow</span>(); <span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">取得一共有多少行</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span>$maxColumnNumber <span style="color:#f92672;">= </span><span style="color:#e1e1e1;">Coordinate</span><span style="color:#f92672;">::</span><span style="color:#a6e22e;">columnIndexFromString</span>($allColumn);<br/> $fields <span style="color:#f92672;">= </span>[];<br/><br/> <span style="color:#f92672;">for </span>($currentRow <span style="color:#f92672;">= </span><span style="color:#ae81ff;">1</span>; $currentRow <span style="color:#f92672;"><= </span><span style="color:#ae81ff;">1</span>; $currentRow<span style="color:#f92672;">++</span>) {<br/> <span style="color:#f92672;">for </span>($currentColumn <span style="color:#f92672;">= </span><span style="color:#ae81ff;">1</span>; $currentColumn <span style="color:#f92672;"><= </span>$maxColumnNumber; $currentColumn<span style="color:#f92672;">++</span>) {<br/> $val <span style="color:#f92672;">= </span>$currentSheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getCellByColumnAndRow</span>($currentColumn, $currentRow)<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getValue</span>();<br/> $fields[] <span style="color:#f92672;">= </span>$val;<br/> }<br/> }<br/><br/> <span style="color:#f92672;">for </span>($currentRow <span style="color:#f92672;">= </span><span style="color:#ae81ff;">2</span>; $currentRow <span style="color:#f92672;"><= </span>$allRow; $currentRow<span style="color:#f92672;">++</span>) {<br/> $values <span style="color:#f92672;">= </span>[];<br/> <span style="color:#f92672;">for </span>($currentColumn <span style="color:#f92672;">= </span><span style="color:#ae81ff;">1</span>; $currentColumn <span style="color:#f92672;"><= </span>$maxColumnNumber; $currentColumn<span style="color:#f92672;">++</span>) {<br/> <span style="color:#f92672;">if</span>($fields[$currentColumn<span style="color:#f92672;">-</span><span style="color:#ae81ff;">1</span>]<span style="color:#f92672;">==</span><span style="color:#e6db74;">'</span><span style="color:#e6db74;font-family:'宋体',monospace;">头像</span><span style="color:#e6db74;">'</span>){<br/><span style="color:#66837f;background-color:#191f26;">// </span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">调用头像获取方法</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span>$val<span style="color:#f92672;">=</span>$this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">writeImageInCell</span>($currentSheet,<span style="color:#e1e1e1;">Coordinate</span><span style="color:#f92672;">::</span><span style="color:#a6e22e;">stringFromColumnIndex</span>((<span style="color:#80807f;">(int) </span>$currentColumn) )<span style="color:#f92672;">. </span>$currentRow);<br/> }<span style="color:#f92672;">else</span>{<br/> $val <span style="color:#f92672;">= </span>$currentSheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getCellByColumnAndRow</span>($currentColumn, $currentRow)<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getValue</span>();<br/> }<br/><br/><br/> $values[] <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">is_null</span>($val) <span style="color:#f92672;">? </span><span style="color:#e6db74;">'' </span><span style="color:#f92672;">: </span><span style="color:#66d9ef;font-style:italic;">trim</span>($val);<br/> }<br/> $row <span style="color:#f92672;">= </span>[];<br/> $temp <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">array_combine</span>($fields, $values);<br/> <span style="color:#f92672;">foreach </span>($temp <span style="color:#f92672;">as </span>$k <span style="color:#f92672;">=> </span>$v) {<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">isset</span>($fieldArr[$k]) <span style="color:#f92672;">&& </span>$k <span style="color:#f92672;">!== </span><span style="color:#e6db74;">''</span>) {<br/> $v<span style="color:#f92672;">=</span><span style="color:#66d9ef;font-style:italic;">trim</span>($v);<br/> <span style="color:#f92672;">if</span>($fieldArr[$k]<span style="color:#f92672;">==</span><span style="color:#e6db74;">'pxtime'</span>)$v<span style="color:#f92672;">=</span><span style="color:#66d9ef;font-style:italic;">strtotime</span>($v);<br/> <span style="color:#f92672;">if</span>($fieldArr[$k]<span style="color:#f92672;">==</span><span style="color:#e6db74;">'id' </span><span style="color:#f92672;">&& </span>$v<span style="color:#f92672;">==</span><span style="color:#e6db74;">''</span>)<span style="color:#f92672;">continue</span>;<br/> $row[$fieldArr[$k]] <span style="color:#f92672;">= </span>$v;<br/> }<br/> }<br/><br/> $row<span style="color:#f92672;">=</span><span style="color:#66d9ef;font-style:italic;">array_filter</span>($row);<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">!empty</span>($row)) {<br/><span style="color:#66837f;background-color:#191f26;">// 3</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">、证书导入自动生成证书编号(生成规则:培训日期</span><span style="color:#66837f;background-color:#191f26;">+</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">身份证后六位数)</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span><span style="color:#f92672;">if</span>(<span style="color:#f92672;">empty</span>($row[<span style="color:#e6db74;">'zsbh'</span>])){<br/> $row[<span style="color:#e6db74;">'zsbh'</span>]<span style="color:#f92672;">=</span><span style="color:#66d9ef;font-style:italic;">date</span>(<span style="color:#e6db74;">'Ymd'</span>,$row[<span style="color:#e6db74;">'pxtime'</span>])<span style="color:#f92672;">.</span><span style="color:#66d9ef;font-style:italic;">substr</span>($row[<span style="color:#e6db74;">'sfzh'</span>],<span style="color:#f92672;">-</span><span style="color:#ae81ff;">6</span>);<br/> }<br/> $insert[] <span style="color:#f92672;">= </span>$row;<br/> }<br/> }<br/> } <span style="color:#f92672;">catch </span>(<span style="color:#f57dac;">Exception </span>$exception) {<br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>($exception<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getMessage</span>());<br/> }<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">!</span>$insert) {<br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>(<span style="color:#a6e22e;">__</span>(<span style="color:#e6db74;">'No rows were updated'</span>));<br/> }<br/><br/> <span style="color:#f92672;">try </span>{<br/> <span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">是否包含</span><span style="color:#66837f;background-color:#191f26;">admin_id</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">字段</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span>$has_admin_id <span style="color:#f92672;">= false</span>;<br/> <span style="color:#f92672;">foreach </span>($fieldArr <span style="color:#f92672;">as </span>$name <span style="color:#f92672;">=> </span>$key) {<br/> <span style="color:#f92672;">if </span>($key <span style="color:#f92672;">== </span><span style="color:#e6db74;">'admin_id'</span>) {<br/> $has_admin_id <span style="color:#f92672;">= true</span>;<br/> <span style="color:#f92672;">break</span>;<br/> }<br/> }<br/> <span style="color:#f92672;">if </span>($has_admin_id) {<br/> $auth <span style="color:#f92672;">= </span><span style="color:#e1e1e1;">Auth</span><span style="color:#f92672;">::</span><span style="color:#a6e22e;">instance</span>();<br/> <span style="color:#f92672;">foreach </span>($insert <span style="color:#f92672;">as &</span>$val) {<br/> <span style="color:#f92672;">if </span>(<span style="color:#f92672;">!isset</span>($val[<span style="color:#e6db74;">'admin_id'</span>]) <span style="color:#f92672;">|| empty</span>($val[<span style="color:#e6db74;">'admin_id'</span>])) {<br/> $val[<span style="color:#e6db74;">'admin_id'</span>] <span style="color:#f92672;">= </span>$auth<span style="color:#f92672;">-></span><span style="color:#a6e22e;">isLogin</span>() <span style="color:#f92672;">? </span>$auth<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">id </span><span style="color:#f92672;">: </span><span style="color:#ae81ff;">0</span>;<br/> }<br/> }<br/> }<br/><br/> $this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">model</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">saveAll</span>($insert);<br/> } <span style="color:#f92672;">catch </span>(<span style="color:#f57dac;">PDOException </span>$exception) {<br/> $msg <span style="color:#f92672;">= </span>$exception<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getMessage</span>();<br/> <span style="color:#f92672;">if </span>(<span style="color:#66d9ef;font-style:italic;">preg_match</span>(<span style="color:#e6db74;">"/</span><span style="color:#e6db74;background-color:#191f26;">.+Integrity constraint violation: 1062 Duplicate entry '(.+)' for key '(.+)'</span><span style="color:#e6db74;">/is"</span>, $msg, $matches)) {<br/> $msg <span style="color:#f92672;">= </span><span style="color:#e6db74;">"</span><span style="color:#e6db74;font-family:'宋体',monospace;">导入失败,包含【</span><span style="color:#80807f;">{</span>$matches[<span style="color:#ae81ff;">1</span>]<span style="color:#80807f;">}</span><span style="color:#e6db74;font-family:'宋体',monospace;">】的记录已存在</span><span style="color:#e6db74;">"</span>;<br/> }<span style="color:#80807f;">;<br/></span><span style="color:#80807f;"> </span>$this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>($msg);<br/> } <span style="color:#f92672;">catch </span>(\<span style="color:#f57dac;">Exception </span>$e) {<br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">error</span>($e<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getMessage</span>());<br/> }<br/><br/> $this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">success</span>();<br/> }<br/><span style="color:#66837f;background-color:#191f26;">//</span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">导出</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span><span style="color:#f92672;">public function </span><span style="color:#a6e22e;">export</span>()<br/> {<br/> <span style="color:#f92672;">if </span>($this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">isPost</span>()) {<br/> <span style="color:#66d9ef;font-style:italic;">set_time_limit</span>(<span style="color:#ae81ff;">0</span>);<br/> $search <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">post</span>(<span style="color:#e6db74;">'search'</span>);<br/> $ids <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">post</span>(<span style="color:#e6db74;">'ids'</span>);<br/> $filter <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">post</span>(<span style="color:#e6db74;">'filter'</span>);<br/> $op <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">post</span>(<span style="color:#e6db74;">'op'</span>);<br/> $columns <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">post</span>(<span style="color:#e6db74;">'columns'</span>);<br/><br/> $spreadsheet <span style="color:#f92672;">= new </span><span style="color:#f57dac;">Spreadsheet</span>();<br/><br/> $spreadsheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getProperties</span>()<br/> <span style="color:#f92672;">-></span><span style="color:#a6e22e;">setCreator</span>(<span style="color:#e6db74;">"FastAdmin"</span>)<br/> <span style="color:#f92672;">-></span><span style="color:#a6e22e;">setLastModifiedBy</span>(<span style="color:#e6db74;">"FastAdmin"</span>)<br/> <span style="color:#f92672;">-></span><span style="color:#a6e22e;">setTitle</span>(<span style="color:#e6db74;">"</span><span style="color:#e6db74;font-family:'宋体',monospace;">标题</span><span style="color:#e6db74;">"</span>)<br/> <span style="color:#f92672;">-></span><span style="color:#a6e22e;">setSubject</span>(<span style="color:#e6db74;">"Subject"</span>);<br/> $spreadsheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getDefaultStyle</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getFont</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setName</span>(<span style="color:#e6db74;">'Microsoft Yahei'</span>);<br/> $spreadsheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getDefaultStyle</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getFont</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setSize</span>(<span style="color:#ae81ff;">13</span>);<br/> $spreadsheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getDefaultStyle</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getFont</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setBold</span>(<span style="color:#f92672;">true</span>);<br/><br/> $worksheet <span style="color:#f92672;">= </span>$spreadsheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setActiveSheetIndex</span>(<span style="color:#ae81ff;">0</span>);<br/> $whereIds <span style="color:#f92672;">= </span>$ids <span style="color:#f92672;">== </span><span style="color:#e6db74;">'all' </span><span style="color:#f92672;">? </span><span style="color:#e6db74;">'1=1' </span><span style="color:#f92672;">: </span>[<span style="color:#e6db74;">'id' </span><span style="color:#f92672;">=> </span>[<span style="color:#e6db74;">'in'</span>, <span style="color:#66d9ef;font-style:italic;">explode</span>(<span style="color:#e6db74;">','</span>, $ids)]];<br/> $this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">request</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">get</span>([<span style="color:#e6db74;">'search' </span><span style="color:#f92672;">=> </span>$search, <span style="color:#e6db74;">'ids' </span><span style="color:#f92672;">=> </span>$ids, <span style="color:#e6db74;">'filter' </span><span style="color:#f92672;">=> </span>$filter, <span style="color:#e6db74;">'op' </span><span style="color:#f92672;">=> </span>$op]);<br/> <span style="color:#f92672;">list</span>($where, $sort, $order, $offset, $limit) <span style="color:#f92672;">= </span>$this<span style="color:#f92672;">-></span><span style="color:#a6e22e;">buildparams</span>();<br/><br/> $line <span style="color:#f92672;">= </span><span style="color:#ae81ff;">1</span>;<br/> $list <span style="color:#f92672;">= </span>[];<br/> $this<span style="color:#f92672;">-></span><span style="color:#b05dc4;font-weight:bold;">model<br/></span><span style="color:#b05dc4;font-weight:bold;"> </span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">field</span>($columns)<br/> <span style="color:#f92672;">-></span><span style="color:#a6e22e;">where</span>($where)<br/> <span style="color:#f92672;">-></span><span style="color:#a6e22e;">where</span>($whereIds)<br/> <span style="color:#f92672;">-></span><span style="color:#a6e22e;">chunk</span>(<span style="color:#ae81ff;">100</span>, <span style="color:#f92672;">function </span>(<span style="color:#660000;">$items</span>) <span style="color:#f92672;">use </span>(<span style="color:#f92672;">&</span>$list, <span style="color:#f92672;">&</span>$line, <span style="color:#f92672;">&</span>$worksheet,<span style="color:#f92672;">&</span>$spreadsheet) {<br/> $styleArray <span style="color:#f92672;">= </span>[ <span style="color:#e6db74;">'font' </span><span style="color:#f92672;">=> </span>[ <span style="color:#e6db74;">'bold' </span><span style="color:#f92672;">=> false</span>,<br/> <span style="color:#e6db74;">'color' </span><span style="color:#f92672;">=> </span>[<span style="color:#e6db74;">'rgb' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'000000'</span>],<br/> <span style="color:#e6db74;">'size' </span><span style="color:#f92672;">=> </span><span style="color:#ae81ff;">12</span>,<br/> <span style="color:#e6db74;">'name' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'Microsoft Yahei'</span>],<span style="color:#e6db74;">'alignment' </span><span style="color:#f92672;">=> </span>[<br/><span style="color:#66837f;background-color:#191f26;">// 'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#e6db74;">'vertical' </span><span style="color:#f92672;">=> </span>\<span style="color:#f57dac;">PhpOffice</span>\<span style="color:#f57dac;">PhpSpreadsheet</span>\<span style="color:#f57dac;">Style</span>\<span style="color:#e1e1e1;">Alignment</span><span style="color:#f92672;">::</span><span style="color:#cc90dc;font-weight:bold;font-style:italic;">VERTICAL_CENTER</span>,<br/> ]];<br/> $list <span style="color:#f92672;">= </span><span style="color:#660000;">$items </span><span style="color:#f92672;">= </span><span style="color:#a6e22e;">collection</span>(<span style="color:#660000;">$items</span>)<span style="color:#f92672;">-></span><span style="color:#a6e22e;">toArray</span>();<br/> $first <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">array_keys</span>($list[<span style="color:#ae81ff;">0</span>]);<br/> <span style="color:#f92672;">foreach </span>($first <span style="color:#f92672;">as </span>$index <span style="color:#f92672;">=> </span>$item) {<br/> $worksheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setCellValueByColumnAndRow</span>($index<span style="color:#f92672;">+</span><span style="color:#ae81ff;">1</span>, <span style="color:#ae81ff;">1</span>, <span style="color:#a6e22e;">__</span>($item));<br/> }<br/> <span style="color:#f92672;">foreach </span>(<span style="color:#660000;">$items </span><span style="color:#f92672;">as </span>$index <span style="color:#f92672;">=> </span>$item) {<br/> $line<span style="color:#f92672;">++</span>;<br/> $col <span style="color:#f92672;">= </span><span style="color:#ae81ff;">1</span>;<br/> <span style="color:#f92672;">foreach </span>($item <span style="color:#f92672;">as </span>$field <span style="color:#f92672;">=> </span>$value) {<br/> <span style="color:#f92672;">if</span>($field<span style="color:#f92672;">==</span><span style="color:#e6db74;">'pxtime'</span>){<br/> $value<span style="color:#f92672;">=</span><span style="color:#66d9ef;font-style:italic;">date</span>(<span style="color:#e6db74;">'Y-m-d H:i:s'</span>);<br/> }<span style="color:#f92672;">elseif</span>($field<span style="color:#f92672;">==</span><span style="color:#e6db74;">'photo'</span>){<br/><span style="color:#66837f;background-color:#191f26;">// </span><span style="color:#66837f;background-color:#191f26;font-family:'宋体',monospace;">头像</span><span style="color:#66837f;font-family:'宋体',monospace;"><br/></span><span style="color:#66837f;font-family:'宋体',monospace;"> </span>$drawing <span style="color:#f92672;">= new </span>\<span style="color:#f57dac;">PhpOffice</span>\<span style="color:#f57dac;">PhpSpreadsheet</span>\<span style="color:#f57dac;">Worksheet</span>\<span style="color:#f57dac;">Drawing</span>();<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setName</span>(<span style="color:#e6db74;">'</span><span style="color:#e6db74;font-family:'宋体',monospace;">头像</span><span style="color:#e6db74;">'</span>);<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setDescription</span>(<span style="color:#e6db74;">'</span><span style="color:#e6db74;font-family:'宋体',monospace;">头像</span><span style="color:#e6db74;">'</span>);<br/> <span style="color:#f92672;">if</span>(<span style="color:#66d9ef;font-style:italic;">strpos</span>($value,<span style="color:#e6db74;">'/'</span>)<span style="color:#f92672;">===</span><span style="color:#ae81ff;">0</span>){<br/> $fileImg<span style="color:#f92672;">=</span><span style="color:#cc90dc;font-weight:bold;font-style:italic;">ROOT_PATH</span><span style="color:#f92672;">.</span><span style="color:#e6db74;">'public'</span><span style="color:#f92672;">.</span>$value;<br/> }<span style="color:#f92672;">else</span>{<br/> $fileImg<span style="color:#f92672;">=</span>$value;<br/> }<br/> <span style="color:#f92672;">if</span>(<span style="color:#f92672;">!</span><span style="color:#66d9ef;font-style:italic;">file_exists</span>($fileImg)){<br/><span style="color:#66837f;background-color:#191f26;">// var_dump($fileImg);exit();</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$col<span style="color:#f92672;">++</span>;<br/> <span style="color:#f92672;">continue</span>;<br/> }<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setPath</span>($fileImg);<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setWidth</span>(<span style="color:#ae81ff;">80</span>);<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setHeight</span>(<span style="color:#ae81ff;">80</span>);<br/><span style="color:#66837f;background-color:#191f26;">// $objDrawing->setCoordinates(Coordinate::stringFromColumnIndex(((int) $oneCellAnchor->from->col) + 1) . ($oneCellAnchor->from->row + 1));</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$spreadsheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getActiveSheet</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getRowDimension</span>($line)<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setRowHeight</span>(<span style="color:#ae81ff;">80</span>);<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setCoordinates</span>(<span style="color:#e1e1e1;">Coordinate</span><span style="color:#f92672;">::</span><span style="color:#a6e22e;">stringFromColumnIndex</span>((<span style="color:#80807f;">(int) </span>$col) )<span style="color:#f92672;">. </span>$line);<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setOffsetX</span>(<span style="color:#ae81ff;">0</span>);<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setOffsetY</span>(<span style="color:#ae81ff;">0</span>);<br/> $drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setWorksheet</span>($spreadsheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getActiveSheet</span>());<br/> $col<span style="color:#f92672;">++</span>;<br/> <span style="color:#f92672;">continue</span>;<br/> }<br/> $worksheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setCellValueByColumnAndRow</span>($col, $line, <span style="color:#e6db74;">" "</span><span style="color:#f92672;">.</span>$value);<br/> $worksheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getStyleByColumnAndRow</span>($col, $line)<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getNumberFormat</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">setFormatCode</span>(<span style="color:#e6db74;">'@'</span>);<br/> $worksheet<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getCellByColumnAndRow</span>($col, $line)<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getStyle</span>()<span style="color:#f92672;">-></span><span style="color:#a6e22e;">applyFromArray</span>($styleArray);<br/><br/> $col<span style="color:#f92672;">++</span>;<br/> }<br/> }<br/><br/> });<br/><br/><br/> <span style="color:#66837f;background-color:#191f26;">// Redirect output to a client’s web browser (Excel2007)</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$title <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">date</span>(<span style="color:#e6db74;">"YmdHis"</span>);<br/> <span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'</span>);<br/> <span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Content-Disposition: attachment;filename="' </span><span style="color:#f92672;">. </span>$title <span style="color:#f92672;">. </span><span style="color:#e6db74;">'.xlsx"'</span>);<br/> <span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Cache-Control: max-age=0'</span>);<br/> <span style="color:#66837f;background-color:#191f26;">// If you're serving to IE 9, then the following may be needed</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Cache-Control: max-age=1'</span>);<br/><br/> <span style="color:#66837f;background-color:#191f26;">// If you're serving to IE over SSL, then the following may be needed</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Expires: Mon, 26 Jul 1997 05:00:00 GMT'</span>); <span style="color:#66837f;background-color:#191f26;">// Date in the past</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Last-Modified: ' </span><span style="color:#f92672;">. </span><span style="color:#66d9ef;font-style:italic;">gmdate</span>(<span style="color:#e6db74;">'D, d M Y H:i:s'</span>) <span style="color:#f92672;">. </span><span style="color:#e6db74;">' GMT'</span>); <span style="color:#66837f;background-color:#191f26;">// always modified</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Cache-Control: cache, must-revalidate'</span>); <span style="color:#66837f;background-color:#191f26;">// HTTP/1.1</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#66d9ef;font-style:italic;">header</span>(<span style="color:#e6db74;">'Pragma: public'</span>); <span style="color:#66837f;background-color:#191f26;">// HTTP/1.0</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$writer <span style="color:#f92672;">= </span>\<span style="color:#f57dac;">PhpOffice</span>\<span style="color:#f57dac;">PhpSpreadsheet</span>\<span style="color:#e1e1e1;">IOFactory</span><span style="color:#f92672;">::</span><span style="color:#a6e22e;">createWriter</span>($spreadsheet, <span style="color:#e6db74;">'Xlsx'</span>);<br/> $writer<span style="color:#f92672;">-></span><span style="color:#a6e22e;">save</span>(<span style="color:#e6db74;">'php://output'</span>);<br/> <span style="color:#80807f;">return;<br/></span><span style="color:#80807f;"> </span>}<br/> }<br/><br/> <span style="color:#486460;background-color:#222930;">/**<br/></span><span style="color:#486460;background-color:#222930;font-family:'宋体',monospace;">获取单元内图片方法<br/></span><span style="color:#486460;background-color:#222930;font-family:'宋体',monospace;"> </span><span style="color:#486460;background-color:#222930;">*/</span><span style="color:#486460;"><br/></span><span style="color:#486460;"> </span><span style="color:#f92672;">private function </span><span style="color:#a6e22e;">writeImageInCell</span>(<span style="color:#f57dac;">Worksheet </span><span style="color:#660000;">$pSheet</span>, <span style="color:#660000;">$coordinates</span>)<br/> {<br/> <span style="color:#66837f;background-color:#191f26;">// Construct HTML</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$val <span style="color:#f92672;">= </span><span style="color:#e6db74;">''</span>;<br/><br/> <span style="color:#66837f;background-color:#191f26;">// Write images</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#f92672;">foreach </span>(<span style="color:#660000;">$pSheet</span><span style="color:#f92672;">-></span><span style="color:#a6e22e;">getDrawingCollection</span>() <span style="color:#f92672;">as </span>$drawing) {<br/> <span style="color:#f92672;">if </span>($drawing <span style="color:#f92672;">instanceof </span><span style="color:#e1e1e1;">Drawing</span>) {<br/> <span style="color:#f92672;">if </span>($drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getCoordinates</span>() <span style="color:#f92672;">== </span><span style="color:#660000;">$coordinates</span>) {<br/><span style="color:#66837f;background-color:#191f26;">// zip:///www/wwwroot/picdemo.szfeirunda.com/public/uploads/20220922/680ee1cc59244a9d3dc143f9192edbed.xlsx#xl/media/c22977ac13dac76be1a1f13fb2b843a41.png</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#f92672;">if </span>($drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getPath</span>()) {<br/> <span style="color:#66837f;background-color:#191f26;">// Check if the source is a URL or a file path</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#f92672;">if </span>($drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getIsURL</span>()) {<br/> $imageContents <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">file_get_contents</span>($drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getPath</span>());<br/> $filePath <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">tempnam</span>(<span style="color:#66d9ef;font-style:italic;">sys_get_temp_dir</span>(), <span style="color:#e6db74;">'Drawing'</span>);<br/> <span style="color:#66d9ef;font-style:italic;">file_put_contents</span>($filePath , $imageContents);<br/> $mimeType <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">mime_content_type</span>($filePath);<br/> <span style="color:#66837f;background-color:#191f26;">// You could use the below to find the extension from mime type.</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span><span style="color:#66837f;background-color:#191f26;">// https://gist.github.com/alexcorvi/df8faecb59e86bee93411f6a7967df2c#gistcomment-2722664</span><span style="color:#66837f;"><br/></span><span style="color:#66837f;"> </span>$extension <span style="color:#f92672;">= </span><span style="color:#a6e22e;">mime2ext</span>($mimeType);<br/> <span style="color:#66d9ef;font-style:italic;">unlink</span>($filePath);<br/> } <span style="color:#f92672;">else </span>{<br/> $zipReader <span style="color:#f92672;">= </span><span style="color:#66d9ef;font-style:italic;">fopen</span>($drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getPath</span>(),<span style="color:#e6db74;">'r'</span>);<br/> $imageContents <span style="color:#f92672;">= </span><span style="color:#e6db74;">''</span>;<br/> <span style="color:#f92672;">while </span>(<span style="color:#f92672;">!</span><span style="color:#66d9ef;font-style:italic;">feof</span>($zipReader)) {<br/> $imageContents <span style="color:#f92672;">.= </span><span style="color:#66d9ef;font-style:italic;">fread</span>($zipReader,<span style="color:#ae81ff;">1024</span>);<br/> }<br/> <span style="color:#66d9ef;font-style:italic;">fclose</span>($zipReader);<br/> $extension <span style="color:#f92672;">= </span>$drawing<span style="color:#f92672;">-></span><span style="color:#a6e22e;">getExtension</span>();<br/> }<br/> <span style="color:#f92672;">if</span>(<span style="color:#f92672;">!</span><span style="color:#66d9ef;font-style:italic;">is_dir</span>(<span style="color:#cc90dc;font-weight:bold;font-style:italic;">ROOT_PATH</span><span style="color:#f92672;">.</span><span style="color:#e6db74;">'public/uploads/'</span><span style="color:#f92672;">.</span><span style="color:#66d9ef;font-style:italic;">date</span>(<span style="color:#e6db74;">'Ymd'</span>))){<br/> <span style="color:#66d9ef;font-style:italic;">mkdir</span>(<span style="color:#cc90dc;font-weight:bold;font-style:italic;">ROOT_PATH</span><span style="color:#f92672;">.</span><span style="color:#e6db74;">'public/uploads/'</span><span style="color:#f92672;">.</span><span style="color:#66d9ef;font-style:italic;">date</span>(<span style="color:#e6db74;">'Ymd'</span>),<span style="color:#ae81ff;">755</span>,<span style="color:#f92672;">true</span>);<br/> }<br/> $val<span style="color:#f92672;">=</span><span style="color:#e6db74;">'/uploads/'</span><span style="color:#f92672;">.</span><span style="color:#66d9ef;font-style:italic;">date</span>(<span style="color:#e6db74;">'Ymd'</span>)<span style="color:#f92672;">.</span><span style="color:#e6db74;">'/'</span><span style="color:#f92672;">.</span><span style="color:#66d9ef;font-style:italic;">md5</span>($imageContents)<span style="color:#f92672;">.</span><span style="color:#e6db74;">'.'</span><span style="color:#f92672;">.</span>$extension;<br/> <span style="color:#66d9ef;font-style:italic;">file_put_contents</span>(<span style="color:#cc90dc;font-weight:bold;font-style:italic;">ROOT_PATH</span><span style="color:#f92672;">.</span><span style="color:#e6db74;">'public'</span><span style="color:#f92672;">.</span>$val,$imageContents);<br/> }<br/><br/> }<br/> }<br/> }<br/><br/> <span style="color:#f92672;">return </span>$val;<br/> }<br/><br/></pre><p>另外使用到的一个函数:<br/></p><pre style="background-color:#262e37;color:#ffffff;font-family:'Consolas',monospace;font-size:11.3pt;"><span style="color:#f92672;">function </span><span style="color:#a6e22e;">mime2ext</span>(<span style="color:#660000;">$mime</span>) {<br/> $mime_map <span style="color:#f92672;">= </span>[<br/> <span style="color:#e6db74;">'video/3gpp2' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'3g2'</span>,<br/> <span style="color:#e6db74;">'video/3gp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'3gp'</span>,<br/> <span style="color:#e6db74;">'video/3gpp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'3gp'</span>,<br/> <span style="color:#e6db74;">'application/x-compressed' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'7zip'</span>,<br/> <span style="color:#e6db74;">'audio/x-acc' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'aac'</span>,<br/> <span style="color:#e6db74;">'audio/ac3' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ac3'</span>,<br/> <span style="color:#e6db74;">'application/postscript' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ai'</span>,<br/> <span style="color:#e6db74;">'audio/x-aiff' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'aif'</span>,<br/> <span style="color:#e6db74;">'audio/aiff' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'aif'</span>,<br/> <span style="color:#e6db74;">'audio/x-au' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'au'</span>,<br/> <span style="color:#e6db74;">'video/x-msvideo' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'avi'</span>,<br/> <span style="color:#e6db74;">'video/msvideo' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'avi'</span>,<br/> <span style="color:#e6db74;">'video/avi' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'avi'</span>,<br/> <span style="color:#e6db74;">'application/x-troff-msvideo' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'avi'</span>,<br/> <span style="color:#e6db74;">'application/macbinary' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bin'</span>,<br/> <span style="color:#e6db74;">'application/mac-binary' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bin'</span>,<br/> <span style="color:#e6db74;">'application/x-binary' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bin'</span>,<br/> <span style="color:#e6db74;">'application/x-macbinary' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bin'</span>,<br/> <span style="color:#e6db74;">'image/bmp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'image/x-bmp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'image/x-bitmap' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'image/x-xbitmap' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'image/x-win-bitmap' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'image/x-windows-bmp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'image/ms-bmp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'image/x-ms-bmp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'application/bmp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'application/x-bmp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'application/x-win-bitmap' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'bmp'</span>,<br/> <span style="color:#e6db74;">'application/cdr' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cdr'</span>,<br/> <span style="color:#e6db74;">'application/coreldraw' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cdr'</span>,<br/> <span style="color:#e6db74;">'application/x-cdr' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cdr'</span>,<br/> <span style="color:#e6db74;">'application/x-coreldraw' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cdr'</span>,<br/> <span style="color:#e6db74;">'image/cdr' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cdr'</span>,<br/> <span style="color:#e6db74;">'image/x-cdr' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cdr'</span>,<br/> <span style="color:#e6db74;">'zz-application/zz-winassoc-cdr' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cdr'</span>,<br/> <span style="color:#e6db74;">'application/mac-compactpro' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'cpt'</span>,<br/> <span style="color:#e6db74;">'application/pkix-crl' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'crl'</span>,<br/> <span style="color:#e6db74;">'application/pkcs-crl' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'crl'</span>,<br/> <span style="color:#e6db74;">'application/x-x509-ca-cert' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'crt'</span>,<br/> <span style="color:#e6db74;">'application/pkix-cert' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'crt'</span>,<br/> <span style="color:#e6db74;">'text/css' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'css'</span>,<br/> <span style="color:#e6db74;">'text/x-comma-separated-values' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'csv'</span>,<br/> <span style="color:#e6db74;">'text/comma-separated-values' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'csv'</span>,<br/> <span style="color:#e6db74;">'application/vnd.msexcel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'csv'</span>,<br/> <span style="color:#e6db74;">'application/x-director' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'dcr'</span>,<br/> <span style="color:#e6db74;">'application/vnd.openxmlformats-officedocument.wordprocessingml.document' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'docx'</span>,<br/> <span style="color:#e6db74;">'application/x-dvi' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'dvi'</span>,<br/> <span style="color:#e6db74;">'message/rfc822' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'eml'</span>,<br/> <span style="color:#e6db74;">'application/x-msdownload' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'exe'</span>,<br/> <span style="color:#e6db74;">'video/x-f4v' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'f4v'</span>,<br/> <span style="color:#e6db74;">'audio/x-flac' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'flac'</span>,<br/> <span style="color:#e6db74;">'video/x-flv' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'flv'</span>,<br/> <span style="color:#e6db74;">'image/gif' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'gif'</span>,<br/> <span style="color:#e6db74;">'application/gpg-keys' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'gpg'</span>,<br/> <span style="color:#e6db74;">'application/x-gtar' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'gtar'</span>,<br/> <span style="color:#e6db74;">'application/x-gzip' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'gzip'</span>,<br/> <span style="color:#e6db74;">'application/mac-binhex40' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'hqx'</span>,<br/> <span style="color:#e6db74;">'application/mac-binhex' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'hqx'</span>,<br/> <span style="color:#e6db74;">'application/x-binhex40' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'hqx'</span>,<br/> <span style="color:#e6db74;">'application/x-mac-binhex40' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'hqx'</span>,<br/> <span style="color:#e6db74;">'text/html' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'html'</span>,<br/> <span style="color:#e6db74;">'image/x-icon' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ico'</span>,<br/> <span style="color:#e6db74;">'image/x-ico' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ico'</span>,<br/> <span style="color:#e6db74;">'image/vnd.microsoft.icon' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ico'</span>,<br/> <span style="color:#e6db74;">'text/calendar' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ics'</span>,<br/> <span style="color:#e6db74;">'application/java-archive' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jar'</span>,<br/> <span style="color:#e6db74;">'application/x-java-application' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jar'</span>,<br/> <span style="color:#e6db74;">'application/x-jar' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jar'</span>,<br/> <span style="color:#e6db74;">'image/jp2' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jp2'</span>,<br/> <span style="color:#e6db74;">'video/mj2' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jp2'</span>,<br/> <span style="color:#e6db74;">'image/jpx' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jp2'</span>,<br/> <span style="color:#e6db74;">'image/jpm' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jp2'</span>,<br/> <span style="color:#e6db74;">'image/jpeg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jpeg'</span>,<br/> <span style="color:#e6db74;">'image/pjpeg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'jpeg'</span>,<br/> <span style="color:#e6db74;">'application/x-javascript' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'js'</span>,<br/> <span style="color:#e6db74;">'application/json' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'json'</span>,<br/> <span style="color:#e6db74;">'text/json' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'json'</span>,<br/> <span style="color:#e6db74;">'application/vnd.google-earth.kml+xml' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'kml'</span>,<br/> <span style="color:#e6db74;">'application/vnd.google-earth.kmz' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'kmz'</span>,<br/> <span style="color:#e6db74;">'text/x-log' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'log'</span>,<br/> <span style="color:#e6db74;">'audio/x-m4a' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'m4a'</span>,<br/> <span style="color:#e6db74;">'application/vnd.mpegurl' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'m4u'</span>,<br/> <span style="color:#e6db74;">'audio/midi' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mid'</span>,<br/> <span style="color:#e6db74;">'application/vnd.mif' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mif'</span>,<br/> <span style="color:#e6db74;">'video/quicktime' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mov'</span>,<br/> <span style="color:#e6db74;">'video/x-sgi-movie' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'movie'</span>,<br/> <span style="color:#e6db74;">'audio/mpeg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mp3'</span>,<br/> <span style="color:#e6db74;">'audio/mpg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mp3'</span>,<br/> <span style="color:#e6db74;">'audio/mpeg3' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mp3'</span>,<br/> <span style="color:#e6db74;">'audio/mp3' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mp3'</span>,<br/> <span style="color:#e6db74;">'video/mp4' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mp4'</span>,<br/> <span style="color:#e6db74;">'video/mpeg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'mpeg'</span>,<br/> <span style="color:#e6db74;">'application/oda' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'oda'</span>,<br/> <span style="color:#e6db74;">'audio/ogg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ogg'</span>,<br/> <span style="color:#e6db74;">'video/ogg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ogg'</span>,<br/> <span style="color:#e6db74;">'application/ogg' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ogg'</span>,<br/> <span style="color:#e6db74;">'application/x-pkcs10' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p10'</span>,<br/> <span style="color:#e6db74;">'application/pkcs10' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p10'</span>,<br/> <span style="color:#e6db74;">'application/x-pkcs12' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p12'</span>,<br/> <span style="color:#e6db74;">'application/x-pkcs7-signature' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p7a'</span>,<br/> <span style="color:#e6db74;">'application/pkcs7-mime' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p7c'</span>,<br/> <span style="color:#e6db74;">'application/x-pkcs7-mime' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p7c'</span>,<br/> <span style="color:#e6db74;">'application/x-pkcs7-certreqresp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p7r'</span>,<br/> <span style="color:#e6db74;">'application/pkcs7-signature' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'p7s'</span>,<br/> <span style="color:#e6db74;">'application/pdf' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'pdf'</span>,<br/> <span style="color:#e6db74;">'application/octet-stream' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'pdf'</span>,<br/> <span style="color:#e6db74;">'application/x-x509-user-cert' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'pem'</span>,<br/> <span style="color:#e6db74;">'application/x-pem-file' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'pem'</span>,<br/> <span style="color:#e6db74;">'application/pgp' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'pgp'</span>,<br/> <span style="color:#e6db74;">'application/x-httpd-php' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'php'</span>,<br/> <span style="color:#e6db74;">'application/php' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'php'</span>,<br/> <span style="color:#e6db74;">'application/x-php' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'php'</span>,<br/> <span style="color:#e6db74;">'text/php' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'php'</span>,<br/> <span style="color:#e6db74;">'text/x-php' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'php'</span>,<br/> <span style="color:#e6db74;">'application/x-httpd-php-source' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'php'</span>,<br/> <span style="color:#e6db74;">'image/png' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'png'</span>,<br/> <span style="color:#e6db74;">'image/x-png' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'png'</span>,<br/> <span style="color:#e6db74;">'application/powerpoint' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ppt'</span>,<br/> <span style="color:#e6db74;">'application/vnd.ms-powerpoint' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ppt'</span>,<br/> <span style="color:#e6db74;">'application/vnd.ms-office' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ppt'</span>,<br/> <span style="color:#e6db74;">'application/msword' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'doc'</span>,<br/> <span style="color:#e6db74;">'application/vnd.openxmlformats-officedocument.presentationml.presentation' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'pptx'</span>,<br/> <span style="color:#e6db74;">'application/x-photoshop' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'psd'</span>,<br/> <span style="color:#e6db74;">'image/vnd.adobe.photoshop' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'psd'</span>,<br/> <span style="color:#e6db74;">'audio/x-realaudio' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ra'</span>,<br/> <span style="color:#e6db74;">'audio/x-pn-realaudio' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ram'</span>,<br/> <span style="color:#e6db74;">'application/x-rar' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rar'</span>,<br/> <span style="color:#e6db74;">'application/rar' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rar'</span>,<br/> <span style="color:#e6db74;">'application/x-rar-compressed' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rar'</span>,<br/> <span style="color:#e6db74;">'audio/x-pn-realaudio-plugin' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rpm'</span>,<br/> <span style="color:#e6db74;">'application/x-pkcs7' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rsa'</span>,<br/> <span style="color:#e6db74;">'text/rtf' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rtf'</span>,<br/> <span style="color:#e6db74;">'text/richtext' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rtx'</span>,<br/> <span style="color:#e6db74;">'video/vnd.rn-realvideo' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'rv'</span>,<br/> <span style="color:#e6db74;">'application/x-stuffit' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'sit'</span>,<br/> <span style="color:#e6db74;">'application/smil' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'smil'</span>,<br/> <span style="color:#e6db74;">'text/srt' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'srt'</span>,<br/> <span style="color:#e6db74;">'image/svg+xml' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'svg'</span>,<br/> <span style="color:#e6db74;">'application/x-shockwave-flash' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'swf'</span>,<br/> <span style="color:#e6db74;">'application/x-tar' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'tar'</span>,<br/> <span style="color:#e6db74;">'application/x-gzip-compressed' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'tgz'</span>,<br/> <span style="color:#e6db74;">'image/tiff' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'tiff'</span>,<br/> <span style="color:#e6db74;">'text/plain' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'txt'</span>,<br/> <span style="color:#e6db74;">'text/x-vcard' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'vcf'</span>,<br/> <span style="color:#e6db74;">'application/videolan' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'vlc'</span>,<br/> <span style="color:#e6db74;">'text/vtt' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'vtt'</span>,<br/> <span style="color:#e6db74;">'audio/x-wav' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wav'</span>,<br/> <span style="color:#e6db74;">'audio/wave' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wav'</span>,<br/> <span style="color:#e6db74;">'audio/wav' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wav'</span>,<br/> <span style="color:#e6db74;">'application/wbxml' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wbxml'</span>,<br/> <span style="color:#e6db74;">'video/webm' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'webm'</span>,<br/> <span style="color:#e6db74;">'audio/x-ms-wma' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wma'</span>,<br/> <span style="color:#e6db74;">'application/wmlc' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wmlc'</span>,<br/> <span style="color:#e6db74;">'video/x-ms-wmv' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wmv'</span>,<br/> <span style="color:#e6db74;">'video/x-ms-asf' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'wmv'</span>,<br/> <span style="color:#e6db74;">'application/xhtml+xml' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xhtml'</span>,<br/> <span style="color:#e6db74;">'application/excel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xl'</span>,<br/> <span style="color:#e6db74;">'application/msexcel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xls'</span>,<br/> <span style="color:#e6db74;">'application/x-msexcel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xls'</span>,<br/> <span style="color:#e6db74;">'application/x-ms-excel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xls'</span>,<br/> <span style="color:#e6db74;">'application/x-excel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xls'</span>,<br/> <span style="color:#e6db74;">'application/x-dos_ms_excel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xls'</span>,<br/> <span style="color:#e6db74;">'application/xls' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xls'</span>,<br/> <span style="color:#e6db74;">'application/x-xls' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xls'</span>,<br/> <span style="color:#e6db74;">'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xlsx'</span>,<br/> <span style="color:#e6db74;">'application/vnd.ms-excel' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xlsx'</span>,<br/> <span style="color:#e6db74;">'application/xml' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xml'</span>,<br/> <span style="color:#e6db74;">'text/xml' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xml'</span>,<br/> <span style="color:#e6db74;">'text/xsl' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xsl'</span>,<br/> <span style="color:#e6db74;">'application/xspf+xml' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'xspf'</span>,<br/> <span style="color:#e6db74;">'application/x-compress' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'z'</span>,<br/> <span style="color:#e6db74;">'application/x-zip' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'zip'</span>,<br/> <span style="color:#e6db74;">'application/zip' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'zip'</span>,<br/> <span style="color:#e6db74;">'application/x-zip-compressed' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'zip'</span>,<br/> <span style="color:#e6db74;">'application/s-compressed' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'zip'</span>,<br/> <span style="color:#e6db74;">'multipart/x-zip' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'zip'</span>,<br/> <span style="color:#e6db74;">'text/x-scriptzsh' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'zsh'</span>,<br/> <span style="color:#e6db74;">'application/vnd.oasis.opendocument.text' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'odt'</span>,<br/> <span style="color:#e6db74;">'application/vnd.oasis.opendocument.spreadsheet' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'ods'</span>,<br/> <span style="color:#e6db74;">'application/vnd.oasis.opendocument.presentation' </span><span style="color:#f92672;">=> </span><span style="color:#e6db74;">'odp'</span>,<br/> ];<br/><br/> <span style="color:#f92672;">return isset</span>($mime_map[<span style="color:#660000;">$mime</span>]) <span style="color:#f92672;">=== true ? </span>$mime_map[<span style="color:#660000;">$mime</span>] <span style="color:#f92672;">: </span><span style="color:#e6db74;">''</span>;<br/>}</pre><p><br/></p>
相关文章