Python中缺乏的几个PHP函数或模块:getimagesize/TCPDF

Python的解决方法是读取文件头,根据二进制数据再从字典里找,Google了一个小时决定放弃.采用迂回的解决办法.

Python-->Post(json{path,filename})-->PHP

Python<--json(data[size,mime,width,height])<--PHP

1 import json,requests
2 payload = {'x':Filepath+Filename}
3 fromPHP = requests.post('http://localhost/php/getimagesize.php',data={'x':json.dumps(payload)})
4 data = json.loads(fromPHP.content)

 

 1 <?php
 2 if(!empty($_POST['x'])) {
 3     $x = json_decode($_POST['x'],true);
 4     $x = iconv('UTF-8','GBK',$x['x']);
 5     if(is_file($x)) {
 6         $s = getimagesize($x);
 7         if (!$s[0]) {
 8             $s[0]=0;
 9             $s[1]=0;
10             $finfo = finfo_open(FILEINFO_MIME);
11             $temp = explode(';',finfo_file($finfo, $x));
12             $s['mime'] = $temp[0];
13             finfo_close($finfo);
14         }
15         $x = array(filesize($x),$s['mime'],$s[0],$s[1]);
16         echo json_encode($x);
17     } else {
18         echo 0;
19     }
20 }

目前看来,完成的很好. 用php的命令行模式,接收参数,肯定更好.我不太讲究,先把任务完成.

 

另外搜索了一天关于Python生成PDF的模块,很抱歉,没有一个及得上TCPDF.不过没关系,用上面的方法一样可以搞定.

PHP真不愧为WEB开发之王.

posted @ 2012-06-24 17:50  up1m  阅读(377)  评论(2)    收藏  举报