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开发之王.