PHP调用Linux的命令行执行文件压缩命令_PHP教程
前几天工作中,需要将3个txt文件,打包成*.zip down到本地……
一开始,我和普通青年一样,想到用PHP内置的 ZipArchive,代码看起来应该是这样的:
/*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt*/
$zip=new ZipArchive();
$zipfile='./Exl_file/wow.zip';
if($zip->open($zipfile,ZIPARCHIVE::CREATE)===TRUE){
$zip->addFile('./Exl_file/wow_1.txt','wow_1.txt');
$zip->addFile('./Exl_file/wow_2.txt','wow_2.txt');
$zip->addFile('./Exl_file/wow_3.txt','wow_3.txt');
$zip->close();
//下载输出文件后删除相关文件
}else{
echo "ZIP生成失败!";
}
可是纠结的是正式环境上没安装zip扩展,ZipArchive直接没法用,代码绝对比在上面装个扩展要来的快——用PHP调用Linux的命令行 ,执行压缩命令,OK,马上行动!
/*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt全部放到 Exl_file 目录下*/
$outputs=array();
/*用php的exec执行Linux命令 括号里的字符串就是你在Linux命令窗口里敲的命令;
第二个参数是linux执行该命令后返回的结果数组;
linux执行返回的每一条结果依次存入该数组
第三个参数是结果,如果执行成功,则Linux返回结果值为0,如果执行失败,则结果值不为0
*/
exec("zip ./Exl_file/wow.zip ./Exl_file/wow_1.txt ./Exl_file/wow_2.txt ./Exl_file/wow_3.txt",$outputs,$rc);
if($rc!=0){
foreach ($outputs as $ko=>$vo){
echo "$vo
";
}
}else{
$zipfile='./Exl_file/wow.zip';
//文件下载输出后删除相关文件
}
}
你可以把if($rc!=0)改成if(1==1)查看Linux执行命令返回的结果行,如下图:
adding: Exl_file/wow_1.txt (deflated 96%)
adding: Exl_file/wow_2.txt (deflated 97%)
adding: Exl_file/wow_3.txt (deflated 97%)
可以看到执行返回的信息全部输入到了 $outputs 数组中,*.zip文件生成成功。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

In PHP8 sind Übereinstimmungsausdrücke eine neue Kontrollstruktur, die unterschiedliche Ergebnisse basierend auf dem Wert des Expression zurückgibt. 1) Es ähnelt einer Switch -Anweisung, gibt jedoch einen Wert anstelle eines Ausführungsanweisungsblocks zurück. 2) Der Match -Ausdruck wird streng verglichen (===), was die Sicherheit verbessert. 3) Es vermeidet mögliche Auslassungen in Switch -Anweisungen und verbessert die Einfachheit und Lesbarkeit des Codes.

In PHP können Sie CSRF -Angriffe effektiv verhindern, indem Sie unvorhersehbare Token verwenden. Spezifische Methoden umfassen: 1. CSRF -Token in der Form erzeugen und einbetten; 2. Überprüfen Sie die Gültigkeit des Tokens bei der Bearbeitung der Anfrage.

Der ... (SPLAT) -Operator in PHP wird verwendet, um Funktionsparameter und Arrays auszupacken, wodurch die Einfachheit und Effizienz der Code verbessert wird. 1) Funktionsparameter Auspacken: Übergeben Sie das Array -Element als Parameter an die Funktion. 2) Array -Auspacken: Auspacken Sie ein Array in ein anderes Array oder als Funktionsparameter.

In PHP wird das endgültige Schlüsselwort verwendet, um zu verhindern, dass Klassen vererbt werden, und die Methoden überschrieben werden. 1) Wenn die Klasse als endgültig markiert wird, kann die Klasse nicht vererbt werden. 2) Wenn die Methode als endgültig markiert wird, kann die Methode nicht von der Unterklasse neu geschrieben werden. Durch die Verwendung von endgültigen Schlüsselwörtern wird die Stabilität und Sicherheit Ihres Codes sichergestellt.

Die Hauptgründe, warum Sie sich bei MySQL nicht als Root anmelden können, sind Berechtigungsprobleme, Konfigurationsdateifehler, Kennwort inkonsistent, Socket -Dateiprobleme oder Firewall -Interception. Die Lösung umfasst: Überprüfen Sie, ob der Parameter Bind-Address in der Konfigurationsdatei korrekt konfiguriert ist. Überprüfen Sie, ob die Root -Benutzerberechtigungen geändert oder gelöscht und zurückgesetzt wurden. Stellen Sie sicher, dass das Passwort korrekt ist, einschließlich Fall- und Sonderzeichen. Überprüfen Sie die Einstellungen und Pfade der Socket -Dateiberechtigte. Überprüfen Sie, ob die Firewall Verbindungen zum MySQL -Server blockiert.

Strenge Typen in PHP werden durch Hinzufügen von Declare aktiviert (strict_types = 1); oben in der Datei. 1) IT erzwingt die Typprüfung der Funktionsparameter und der Rückgabewerte, um die implizite Typumwandlung zu verhindern. 2) Die Verwendung strenger Typen kann die Zuverlässigkeit und Vorhersehbarkeit des Codes verbessern, Fehler reduzieren und die Wartbarkeit und Lesbarkeit verbessern.

C-Sprachbedingungskompilation ist ein Mechanismus zum selektiven Kompilieren von Codeblöcken, die auf Kompilierungszeitbedingungen basieren. Zu den Einführungsmethoden gehören: Verwenden von #IF- und #else -Direktiven, um Codeblöcke basierend auf den Bedingungen auszuwählen. Zu den häufig verwendeten bedingten Ausdrücken gehören STDC, _win32 und Linux. Praktischer Fall: Drucken Sie verschiedene Nachrichten entsprechend dem Betriebssystem. Verwenden Sie unterschiedliche Datentypen gemäß der Anzahl der Ziffern des Systems. Verschiedene Header -Dateien werden gemäß dem Compiler unterstützt. Die bedingte Kompilierung verbessert die Portabilität und Flexibilität des Codes und macht es an den Compiler-, Betriebssystem- und CPU -Architekturänderungen anpassbar.
