1
virusdefender 2015-10-24 19:29:19 +08:00
后面的一堆看着像 base64
写个 Python 脚本分割就行啊 |
2
orzfly 2015-10-24 19:35:23 +08:00
|
3
just1 2015-10-24 20:07:00 +08:00 via Android
txt 啥时能保存图像了
|
4
vmebeh 2015-10-24 20:10:51 +08:00
前面几个应该是标志位,然后是 Base64 的二进制数据, JFIF 格式的 JPG
|
6
kkk414 OP @virusdefender 不懂 Python 请指教
|
9
ferock 2015-10-24 20:46:39 +08:00 via Android
伸手党
|
10
gdtv 2015-10-24 20:51:04 +08:00 2
PHP 的处理方法:
><?php header('Content-Type: text/html; charset=gb2312'); $d = dir(dirname(__FILE__)); while(false !== ($v = $d->read())) { if(strpos($v,'TXT')){ $file_str = file_get_contents($v); $file_lines = explode("\r\n",$file_str); foreach($file_lines as $file_line){ preg_match('/[\s]{10,}([\d]{18}[ⅩxX]{0,1}).*[\s]{5,}00(.*)$/',$file_line,$file_parts); if($file_parts[1] && $file_parts[2]){ file_put_contents($file_parts[1].'.jpg', base64_decode($file_parts[2])); } } } } echo 'ok'; 将以上代码保存成一个.php 文件,和所有数据源 TXT 文件一起放到同一个目录,然后运行 |
11
Zzzzzzzzz 2015-10-24 20:57:18 +08:00
你这直接把名字、身份证号和照片合并成的文件当例子放出来下载不好吧
|
13
kkk414 OP @gdtv 谢谢提供方法 ,
COPY 了代码并存 PHP ,但 PHP 要用什么运行?双击 PHP 文件打开了 IE ,结果 IE 里还是显示这段代码 |
14
loading 2015-10-24 21:17:01 +08:00 via Android
建议楼主用网上的图片做几个样本文件,提供给大家测试,不然你这种伸手法是没结果的。
|
15
loading 2015-10-24 21:20:20 +08:00 via Android
看完楼主还问如何运行 php ,自己居然不先自己搜索一下…
好人不代表是保姆! 也许有偿会好一些,楼主来个价格吧,也许睡醒这个问题就解决了,目测不需要你一周的工资。 |
18
abelyao 2015-10-24 22:40:32 +08:00
EXE 工具不难写,好奇的是数据来源…
|
20
icedx 2015-10-24 23:14:16 +08:00
楼主要么分享我数据 要么买我程序 我已经写好了
|
22
kkk414 OP |
23
sualwu 2015-10-25 09:59:03 +08:00 1
|
24
kkk414 OP |
25
horsley 2015-10-25 13:40:40 +08:00
门外汉的话,还是花点钱吧,有钱,给你做批量处理 做独立运行 exe 都不是问题
|
27
kkk414 OP @gdtv 按你的方案已经单个文件成功导出了,但是多个 TXY 批量的导出只能到 7 千多张,请教一下
Fatal error: Maximum execution time of 60 seconds exceeded in D:\1.php on line 12 |
28
gdtv 2015-10-26 16:03:17 +08:00 1
@kkk414 改了一下,你再试试
<?php header('Content-Type: text/html; charset=gb2312'); $d = dir(dirname(__FILE__)); while(false !== ($v = $d->read())) { if(strpos($v,'TXT')){ set_time_limit(120); $file_str = file_get_contents($v); $file_lines = explode("\r\n",$file_str); foreach($file_lines as $file_line){ preg_match('/[\s]{10,}([\d]{18}[ⅩxX]{0,1}).*[\s]{5,}00(.*)$/',$file_line,$file_parts); if($file_parts[1] && $file_parts[2]){ file_put_contents($file_parts[1].'.jpg', base64_decode($file_parts[2])); } } } } echo 'ok'; |