Quiero leer una lista de los nombres de los archivos en una carpeta en una página web usando php. ¿hay alguna secuencia de comandos simple para lograrlo?¿Cómo leer una lista de archivos de una carpeta usando PHP?
Respuesta
La forma más sencilla y divertida (OMI) es glob
foreach (glob("*.*") as $filename) {
echo $filename."<br />";
}
Pero la forma estándar es utilizar el directory functions.
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: .".$file."<br />";
}
closedir($dh);
}
}
También el SPL DirectoryIterator methods son. Si está interesado
Gracias Olafur que ayuda mucho .. –
No recomiendo Glob - nunca! Es extremadamente lento, especialmente con muchos archivos. Yo usaría uno de estos: FilesystemIterator, DirectoryIterator, RecursiveDirectoryIterator. – JREAM
Si tiene problemas con el acceso a la ruta, tal vez usted necesita para poner esto:
$root = $_SERVER['DOCUMENT_ROOT'];
$path = "/cv/";
// Open the folder
$dir_handle = @opendir($root . $path) or die("Unable to open $path");
No es un pegote. En la página hay buen artículo como listar los archivos de manera muy sencilla:
Tenga en cuenta que las respuestas de solo vínculo no se recomiendan, por lo que las respuestas deberían ser el punto final de una búsqueda de una solución (frente a otra escala de referencias, que tienden a quedarse obsoletas en el tiempo). Considere agregar una sinopsis independiente aquí, manteniendo el enlace como referencia. – kleopatra
Hay esta función scandir():
$dir = 'dir';
$files = scandir($dir, 0);
for($i = 2; $i < count($files); $i++)
print $files[$i]."<br>";
Esto es lo Me gusta hacer:
$files = array_values(array_filter(scandir($path), function($file) {
return !is_dir($file);
}));
foreach($files as $file){
echo $file;
}
Necesita una pequeña corrección: uso de la función ($ file) ($ path) {return! Is_dir ($ path. '/'. $ File); – Borgboy
Comprobar en muchas carpetas:
Folder_1 y Folder_2 son nombre de carpetas, de la que tenemos que seleccionar los archivos.
$ formato es requerido.
<?php
$arr = array("folder_1","folder_2");
$format = ".csv";
for($x=0;$x<count($arr);$x++){
$mm = $arr[$x];
foreach (glob("$mm/*$format") as $filename) {
echo "$filename size " . filesize($filename) . "<br>";
}
}
?>
<?php
$files = glob("images/*.*");
for ($i=0; $i<count($files); $i++) { // $i mean to start first files names.
$num = $files[$i];
echo '<img src="'.$num.'" />'."<br />\n";
}
?>
imágenes/es el significado a su directorio de imágenes. $ i = 0 variable es encontrar el . archivos de imágenes y se iniciará el primer nombre de archivo.
Explique cómo su fragmento de código es una respuesta a la pregunta de OP. – YSC
puede utilizar las funciones de directorio estándar
$dir = opendir('/tmp');
while ($file = readdir($dir)) {
if ($file == '.' || $file == '..') {
continue;
}
echo $file;
}
closedir($dir);
También hay una manera muy sencilla de hacer esto con la ayuda de la clase RecursiveTreeIterator
, respondiendo aquí: https://stackoverflow.com/a/37548504/2032235
<html>
<head>
<title>Names</title>
</head>
<body style="background-color:powderblue;">
<form method='post' action='alex.php'>
<input type='text' name='name'>
<input type='submit' value='name'>
</form>
Enter Name:
<?php
if($_POST)
{
$Name = $_POST['name'];
$count = 0;
$fh=fopen("alex.txt",'a+') or die("failed to create");
while(!feof($fh))
{
$line = chop(fgets($fh));
if($line==$Name && $line!="")
$count=1;
}
if($count==0 && $Name!="")
{
fwrite($fh, "\r\n$Name");
}
else if($count!=0 && $line!="")
{
echo '<font color="red">'.$Name.', the name you entered is already in the list.</font><br><br>';
}
$count=0;
fseek($fh, 0);
while(!feof($fh))
{
$a = chop(fgets($fh));
echo $a.'<br>';
$count++;
}
if($count<=1)
echo '<br>There are no names in the list<br>';
fclose($fh);
}
?>
</body>
</html>
Si bien este código puede responder a la pregunta, proporcionar un contexto adicional con respecto a * cómo * y/o * por qué * resuelve el problema mejoraría el valor a largo plazo de la respuesta. – radoh
- 1. Rubí lista de archivos excluir una carpeta
- 2. encontrar archivos en una carpeta usando Java
- 3. Leer archivos de una carpeta dentro de un archivo jar
- 4. Descargando una carpeta mediante FTP usando PHP
- 5. Cambiar nombre de archivos a granel en una carpeta - PHP
- 6. Cómo descomprimir una carpeta zip usando el código php
- 7. PHP (carpeta) Lista de archivos en orden alfabético?
- 8. lista de archivos Ponerse en una carpeta en C
- 9. ¿Cómo recorro todos los archivos en una carpeta usando C?
- 10. Obtener archivos en una carpeta
- 11. JavaScript: Leer archivos en la carpeta
- 12. Cómo eliminar una carpeta con contenido usando PHP
- 13. Devuelve el número total de archivos dentro de una carpeta usando PHP
- 14. ¿Cómo hacer una lista de archivos usando dos comandos?
- 15. cómo descargar archivos adjuntos a una carpeta específica usando IMAP y php
- 16. ¿Cómo obtener una lista de cookies del navegador usando PHP?
- 17. ¿Cómo obtener todos los archivos de texto de una carpeta usando Java?
- 18. Lista de recursos en una carpeta de archivo jar?
- 19. ¿Cómo obtener la lista de archivos con una extensión específica en una carpeta determinada?
- 20. Android, ¿cómo puedo obtener una lista de todos los archivos en una carpeta?
- 21. Buscar el archivo más antiguo en una carpeta usando PHP
- 22. Recuento de archivos de una carpeta
- 23. Obtener una lista de archivos de TFS
- 24. PHP leer y escribir archivos de JSON
- 25. Cómo leer una lista de correo como RSS
- 26. ¿Cómo subir una carpeta con PHP?
- 27. ¿Pasa los archivos en una carpeta usando VBA?
- 28. Leer texto de una imagen con PHP
- 29. ¿Cómo leer una imagen con PHP?
- 30. Cómo hacer una carpeta oculta usando java
Sí se puede leer usando php, por favor lee y usa esta clase. Estoy seguro que te ayudará mucho. http://www.devbaba.com/2015/06/04/how-to-fetch-and-list-the-files-and-sub-directories-in-specific-directory/ – naCheex