The video explains how to use PHP's exec function to run external system commands, specifically the Unix 'ls' command, in order to list directory contents. It shows that exec takes a command string and can optionally receive a second argument that captures the command's output into an array. The presenter demonstrates assigning the output of 'ls' to a variable, then iterating over the array with a foreach loop to display each entry. He further illustrates adding typical ls options such as -l for detailed file information (permissions, owner, group, size, modification date, and file type) and -a to include hidden files. The tutorial also explains how to interpret the detailed output, identifying directories, regular files, and symbolic links based on the leading character. Overall, the content provides a practical, step‑by‑step guide for scanning directories and retrieving system command results directly from PHP scripts.
Chapters
Il faut savoir qu'en PHP on peut exécuter des programmes externes, comme par exemple exécuter des commandes via des scripts PHP. Autrement dit, le traitement que l'on vient de faire qui permet d'explorer un dossier, on peut le faire avec les commandes que l'on connaît déjà qui correspondent au système d'exploitation utilisé. La fonction qui permet de passer des commandes ou bien d'exécuter des programmes externes en PHP s'appelle exec. Elle s'écrit comme ceci. Exec accepte une chaîne de caractères qui n'est rien d'autre que la commande à exécuter, par exemple ls. ls dans les systèmes Unix permet de lister le contenu d'un répertoire. Alors dans ce cas exec va afficher une des entrées du répertoire et pas toutes. Donc quand je mets par exemple echo et que j'exécute ça m'affiche index.php qui est la page courante. Mais moi je veux afficher toutes les entrées de mon répertoire. Dans ce cas la fonction exec accepte un deuxième argument qui est la sortie. La sortie dans ce cas sera un tableau, comme ça par exemple. Alors maintenant je viens de mettre le résultat de l'exécution de la commande ls dans le tableau tab que je vais explorer. Je mettrai donc foreach. Exécutons maintenant pour voir le résultat. Alors ça m'affiche les entrées de mon dossier une à une. Bon, si je veux bien sûr avoir plus de détails, il suffit de mettre les options comme on le fait sur la ligne de commande, par exemple -l pour afficher tous les détails du fichier ou bien du dossier courant. Donc voilà, maintenant ça m'affiche ceci. Il y a les privilèges, il y a le propriétaire, le groupe, donc il y a aussi le nom du fichier, la date de la dernière modification, etc. Et bien sûr, on peut voir s'il s'agit d'un dossier si ça commence par un d, ou bien si c'est juste un fichier comme index.php. Et si ça commence par un l, alors c'est un lien symbolique. On peut aussi ajouter l'option -a pour dire que l'on veut aussi afficher les dossiers et les fichiers cachés. Dans ce cas, ça nous affiche les fichiers et dossiers qui sont cachés de cette manière.