用Wscript.Shell压缩有问,谢谢
<br /> <?PHP<br /> class rar<br /> {<br /> <br /> public $Path; //文件路径<br /> <br /> public $Save; //保存路径<br /> <br /> public $Object; //Wscript.Shell对象实例<br /> <br /> function rar(){ //构造函数<br /> <br /> $this->Object = new com("Wscript.Shell"); //实例化一个Shell对象<br /> <br /> }<br /> <br /> function Release(){ //解压方法<br /> <br /> $this->Object->run("WinRAR x $this->Path $this->Save",1,false); //Path要解压的文件名及路径 Save保存路径<br /> <br /> if($this->Object == true){<br /> <br /> return true;<br /> <br /> }else{<br /> <br /> return false;<br /> <br /> }<br /> <br /> }<br /> <br /> function Pressure(){ //压缩方法<br /> <br /> $this->Object->run("WinRAR a $this->Save $this->Path",1,true); //Save压缩后保存的路径及文件名 Path要压缩的路径<br /> <br /> if($this->Object == true){<br /> <br /> return true;<br /> <br /> }else{<br /> <br /> return false;<br /> <br /> }<br /> <br /> }<br /> }<br /> <br /> <br /> $rar=new rar();<br /> $rar->Path="F:/js/test/z.rar";<br /> $rar->Save="F:/js/test";<br /> if($rar->Release()){<br /> die('解压成功');<br /> }else{<br /> die('解压失败');<br /> }<br /> ?><br /> <br /> <br /> <br />
用这个代码,能正常压缩
但是它只能压缩绝对路径,而且压缩的时候,它把所有的目录都添加成了空文件夹
比如,我压缩:c:\a\b\c\k.txt
那么压缩后的压缩文件就有很多层文件夹在里面
-a
-b
-c
-k.txt
怎么办啊?
用相对目录就不能压缩
------解决方案--------------------
你可以给 winrar 加上下面参数,但须清楚这样做的后果
ep 从名称中排除路径
包含此开关时,文件在加入压缩文件时不会包含路径信息。这可能会有在压缩文件中,存在数个相同名称的结果。
ed 不添加空目录
这个开关指出空目录不被存储到被创建的压缩文件中。当解压这样一个压缩文件时, RAR 会基于他们内部的文件路径创建非空的目录。关于空目录的信息丢失。非空目录除了名字外(访问权限, 流, 等。)其他所有属性全部丢失, 所以只有在你不需要保留这样的信息时使用此开关。
------解决方案--------------------
$this->Object->run("WinRAR a 参数在这里 $this->Save $this->Path",1,true);

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver CS6
Visual web development tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Notepad++7.3.1
Easy-to-use and free code editor
