Maison développement back-end tutoriel php PHP中调用shell命令的注意事项

PHP中调用shell命令的注意事项

Jul 29, 2016 am 09:16 AM
command return shell string

PHP中调用shell命令的注意事项,感兴趣的朋友可以参考下。

escapeshellarg ( string $arg )
可以用到php的安全中,会过滤掉arg中存在的一些特殊字符。在输入的参数中如果

包含中文传递给escapeshellarg,会被过滤掉。

escapeshellcmd ( string $command )
escapeshellcmd()函数会转义命令中的所有shell元字符来完成工作。这些元字符

包括:# & ; ` , | * ? ~ ^ ( ) [ ] { } $ \\。

exec ( string $command [, array &$output [, int &$return_var]] )
执行定义的命令command,如果定义数组output的话就会将输出结果传到output中

执行结果的返回值存储在return_var中。

passthru ( string $command [, int &$return_var] )
与exec和system类似,返回的值是raw data,如二进制数据,比如图片。

shell_exec ( string $cmd )
通过shell执行命令cmd,完整的字符串作为返回值。

system ( string $command [, int &$return_var] )
执行命令command后返回值,如果php运行在server模式下,system会试图自动刷新

web服务器的输出缓存。

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了 PHP中调用shell命令的注意事项,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment installer Classic Shell sur Windows 11 ? Comment installer Classic Shell sur Windows 11 ? Apr 21, 2023 pm 09:13 PM

<p>La personnalisation de votre système d'exploitation est un excellent moyen de rendre votre vie quotidienne plus agréable. Vous pouvez modifier l'interface utilisateur, appliquer des thèmes personnalisés, ajouter des widgets, etc. Aujourd’hui, nous allons vous montrer comment installer ClassicShell sur Windows 11. </p><p>Ce programme existe depuis longtemps et vous permet de modifier le système d'exploitation. Des bénévoles ont désormais commencé à diriger l’organisation, qui a été dissoute en 2017. Le nouveau projet s'appelle OpenShell et est actuellement disponible sur Github pour les personnes intéressées. </p>&a

Le déploiement PowerShell échoue avec le problème HRESULT 0x80073D02 résolu Le déploiement PowerShell échoue avec le problème HRESULT 0x80073D02 résolu May 10, 2023 am 11:02 AM

Voyez-vous ce message d'erreur « Add-AppxPackage : Le déploiement a échoué avec HRESULT : 0x80073D02, Le package ne peut pas être installé car la ressource qu'il modifie est actuellement en cours d'utilisation. Erreur 0x80073D02... » dans PowerShell lorsque vous exécutez le script ? Comme l'indique le message d'erreur, cela se produit lorsque l'utilisateur tente de réenregistrer une ou toutes les applications WindowsShellExperienceHost pendant l'exécution du processus précédent. Nous avons quelques solutions simples pour résoudre ce problème rapidement. Correctif 1 – Terminez le processus hôte d’expérience que vous devez terminer avant d’exécuter la commande PowerShell

Explorer.exe ne démarre pas au démarrage du système [Réparer] Explorer.exe ne démarre pas au démarrage du système [Réparer] Jun 03, 2023 am 08:31 AM

De nos jours, de nombreux utilisateurs de Windows commencent à rencontrer de graves problèmes avec le système Windows. Le problème est qu'Explorer.exe ne peut pas démarrer une fois le système chargé et les utilisateurs ne peuvent pas ouvrir de fichiers ou de dossiers. Cependant, les utilisateurs Windows peuvent ouvrir l'Explorateur Windows manuellement à l'aide de l'invite de commande dans certains cas et cela doit être fait à chaque redémarrage du système ou après le démarrage du système. Cela peut être problématique et est dû aux facteurs suivants mentionnés ci-dessous. Fichiers système corrompus. Activez les paramètres de démarrage rapide. Pilotes d’affichage obsolètes ou problématiques. Des modifications ont été apportées à certains services du système. Fichier de registre modifié. En gardant à l'esprit tous les facteurs ci-dessus, nous en avons proposé quelques-uns qui aideront sûrement les utilisateurs.

Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Convertissez les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Jul 24, 2023 pm 07:55 PM

Convertir les types de données de base en chaînes à l'aide de la fonction String.valueOf() de Java Dans le développement Java, lorsque nous devons convertir les types de données de base en chaînes, une méthode courante consiste à utiliser la fonction valueOf() de la classe String. Cette fonction peut accepter les paramètres des types de données de base et renvoyer la représentation sous forme de chaîne correspondante. Dans cet article, nous explorerons comment utiliser la fonction String.valueOf() pour les conversions de types de données de base et fournirons quelques exemples de code pour

Comment supprimer rapidement la ligne à la fin d'un fichier sous Linux Comment supprimer rapidement la ligne à la fin d'un fichier sous Linux Mar 01, 2024 pm 09:36 PM

Lors du traitement de fichiers sous les systèmes Linux, il est parfois nécessaire de supprimer des lignes à la fin du fichier. Cette opération est très courante dans les applications pratiques et peut être réalisée grâce à quelques commandes simples. Cet article présentera les étapes pour supprimer rapidement la ligne à la fin du fichier dans le système Linux et fournira des exemples de code spécifiques. Étape 1 : Vérifiez la dernière ligne du fichier Avant d'effectuer l'opération de suppression, vous devez d'abord confirmer quelle ligne est la dernière ligne du fichier. Vous pouvez utiliser la commande tail pour afficher la dernière ligne du fichier. La commande spécifique est la suivante : tail-n1filena.

Comment convertir un tableau de caractères en chaîne Comment convertir un tableau de caractères en chaîne Jun 09, 2023 am 10:04 AM

Méthode de conversion d'un tableau de caractères en chaîne : cela peut être réalisé par affectation. Utilisez la syntaxe {char a[]=" abc d\0efg ";string s=a;} pour laisser le tableau de caractères attribuer directement une valeur à la chaîne et l'exécuter. le code pour terminer la conversion.

Explication détaillée de l'utilisation de return en langage C Explication détaillée de l'utilisation de return en langage C Oct 07, 2023 am 10:58 AM

L'utilisation de return en langage C est la suivante : 1. Pour les fonctions dont le type de valeur de retour est void, vous pouvez utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. 2. Pour les fonctions dont le type de valeur de retour n'est pas void, la fonction de ; l'instruction return sert à terminer l'exécution de la fonction.Le résultat est renvoyé à l'appelant ;3. Terminer l'exécution de la fonction plus tôt que prévu.À l'intérieur de la fonction, nous pouvons utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. si la fonction ne renvoie pas de valeur.

Quel est l'ordre d'exécution des instructions return et enfin en Java ? Quel est l'ordre d'exécution des instructions return et enfin en Java ? Apr 25, 2023 pm 07:55 PM

Code source : publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# Sortie La sortie du code ci-dessus peut simplement conclure : return est exécuté avant finalement. Jetons un coup d'œil à ce qui se passe au niveau du bytecode. Ce qui suit intercepte une partie du bytecode de la méthode case1 et compare le code source pour annoter la signification de chaque instruction dans

See all articles