exec 函数执行错误——应用:PHP提取apk的icon图标图片
作者:林子木 wolinxuebin
转载请保留:http://blog.csdn.net/wolinxuebin
今天在做项目,从apk中读取图片icon信息。因为有大量的数据要读取,又因为现在自己测试的处理的都是windows环境,将数据处理完之后才上传到服务器,真心高了半天了。
主要是做了两件事:1、读取apk的icon路径等信息 2、解压出该路径下的图片。
直接上代码先:
<?php /********************************** * 作者:林子木 * 功能:提取apk中的icon * 系统:windows */ define("AAPTTOOL","c:/apktool/aapt");//aapt工具的路径 define("UNZIP","E:/GnuWin32/bin/unzip.exe");//试了试winrar等,没成功,就用了unzip,而linux有自带这个的 function getApkIcon($apk_file,$save_path){ $aapt = AAPTTOOL; //aapt工具的路径 exec("{$aapt} d badging {$apk_file}",$out,$return);//从apk中解除信息 //print_r('$out'); //可以查看输出信息 if($return == 0){ $str_out = implode("\n", $out);//分离信息 } $pattern_icon = "/icon='(.+)'/isU"; //提取icon信息 preg_match($pattern_icon, $str_out,$m); $info['icon']= $m[1]; if($info['icon']){ $command = UNZIP." -o -j {$apk_file} {$info['icon']} -d $save_path"; exec($command);//解压 } } getApkIcon("c:/test.apk","c:/tmp/");?>
用到的工具有:1、apktool 这个网上挺多的,还有安装教程,唯一麻烦是要在java环境下才能运行
2、unzip :http://download.csdn.net/detail/wolinxuebin/4464939 测试了winrar不大能解压apk,可能因为我水平有限
这里再讲讲很重要的一点,exec运行出错
今天本来我的软件是装在E:/Program Files/GnuWin32/ 下的 所以define的时候是
define("UNZIP","E:/Program Files/GnuWin32/bin/unzip.exe");但是始终运行没有结果,这个exec不会报错的
exec("{$aapt} d badging {$apk_file}",$out,$return);查看$return 始终是1 那么就是没有运行成功。
而这命令在命令行里面是完全可以运行的。
最后终于发现,exec()中的commod参数中的目录,不能包含空格,也就是Program Files 应该变为ProgramFiles才行,所以我就换了一个安装目录。

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP remains important in the modernization process because it supports a large number of websites and applications and adapts to development needs through frameworks. 1.PHP7 improves performance and introduces new features. 2. Modern frameworks such as Laravel, Symfony and CodeIgniter simplify development and improve code quality. 3. Performance optimization and best practices further improve application efficiency.

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

In PHP, use the clone keyword to create a copy of the object and customize the cloning behavior through the \_\_clone magic method. 1. Use the clone keyword to make a shallow copy, cloning the object's properties but not the object's properties. 2. The \_\_clone method can deeply copy nested objects to avoid shallow copying problems. 3. Pay attention to avoid circular references and performance problems in cloning, and optimize cloning operations to improve efficiency.

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version
Recommended: Win version, supports code prompts!

Atom editor mac version download
The most popular open source editor

Dreamweaver Mac version
Visual web development tools