PHP Beginner: использует стандартную практику команды EXEC?

StackOverflow https://stackoverflow.com/questions/4000403

  •  25-09-2019
  •  | 
  •  

Вопрос

Я просто начинаю PHP. Мне просто любопытно, если есть лучший способ сделать это. Это отображает все мои сценарии в той же папке, что и этот скрипт.

Я не уверен, что это стандартно использовать команду exec. Это не кажется очень портативным.

<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>
Это было полезно?

Решение

Есть каталог функций для таких операций: http://www.php.net/manual/en/ref.dir.php.

Другие советы

«Exec» является портативным Boacuse - API! :-) Что не портативно - это строка, представляющая командную строку, которую вы вызываете через «EXEC».

В этом случае вы можете использовать PHP API для чтения каталога. Это портативно на каждой ОС, которую вы используете на вашем сервере.

Бывший: Дире класс в PHP

Использование стандартной практики команды EXEC?

Использование exec Для взаимодействия с хост-операционной системой является очень не портативной практикой. Для практически любой ситуации есть ОС-независимый раствор; В этом конкретном случае вы можете найти все файлы в текущем каталоге с glob, readdir или scandir.

С использованием eval В программе, которая принимает любую форму пользовательского ввода, также часто приводит к серьезным рискам безопасности. Ваша программа не страдает от таких рисков в настоящее время, но она также очень тривиальная.

Да, есть лучший способ сделать то, что вы после. Есть Глобай или readdir. для начинающих.

Что касается «стандартной практики», вы увидите много этого в PHP Land. Если разработчик не знает огромную кодовую базу PHP очень хорошо, но знает, что Shell они будут в конечном итоге использовать exect и backticks (``) повсюду, чтобы выполнить свою работу. Это стандартная практика, что некоторые процентных разработчиков PHP ненавидят, и другой процент не мог жить без. Привыкнуть к этому.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top