Question

Je commence php. Je suis juste curieux de savoir s'il y a une meilleure façon de le faire. Cela affiche tous mes scripts dans le même dossier que ce script.

Je ne sais pas si elle est standard d'utiliser la commande exec. Il ne semble pas très portable.

<html>
<head>
   <title>My PHP Practice Scripts</title>
</head>

<body>
   <center><h1>PHP Scripts</h1></center>
   <?php
      exec("ls -1 *.php", $output);

      foreach ($output as &$tmp){
         echo "<a href=\"$tmp\">$tmp</a><br>";
      }
   ?>
</body>
</html>
Était-ce utile?

La solution

Il existe des fonctions de répertoire pour ces opérations: http: //www.php. net / manuel / fr / ref.dir.php

Autres conseils

"exec" est beacuse portable est une API! :-) Ce qui est moins portable est la chaîne qui représente la ligne de commande que vous invoquez par « exec ».

Dans ce cas, vous pouvez utiliser une API PHP pour lire le répertoire. C'est portable sur tous les OS que vous utilisez sur votre serveur.

Ex: dir PHP

  

est en utilisant la commande pratique standard exec?

Non. En utilisant exec pour interagir avec le système d'exploitation hôte est une pratique très non-portable. Pour toutes les situations, il existe une solution de système d'exploitation indépendant; dans ce cas particulier, vous pouvez trouver tous les fichiers dans le répertoire en cours avec glob , readdir ou scandir .

Utilisation eval dans un programme qui accepte toute forme d'entrée utilisateur conduit souvent à des risques de sécurité graves. Votre programme ne souffre pas de ces risques actuellement, mais il est aussi très trivial.

Oui, il y a une meilleure façon de faire ce que vous êtes après. Il y a glob ou readdir pour commencer.

En ce qui concerne la « pratique courante va », vous verrez beaucoup de cela dans la terre PHP. Si un développeur ne sait pas énorme codebase PHP très bien, mais ne connaît la coquille ils finissent par utiliser exec et des backticks ( ``) dans tous les sens pour obtenir leur travail. Il est une pratique courante que certains pourcentage de développeurs PHP déteste, et un autre pourcentage ne pouvait pas vivre sans. Habituez-vous à le voir.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top