¿Hay una mejor manera de comprobar si un directorio está vacío que analizarlo?La mejor manera de comprobar si un directorio está vacío con php
Respuesta
No lo creo. La manera más rápida/más rápida que puedo pensar es la siguiente, que debería funcionar tanto como yo pueda ver.
function dir_is_empty($path)
{
$empty = true;
$dir = opendir($path);
while($file = readdir($dir))
{
if($file != '.' && $file != '..')
{
$empty = false;
break;
}
}
closedir($dir);
return $empty;
}
Esto sólo debe pasar por un máximo de 3 archivos. Los dos .
y ..
y potencialmente lo que viene después. Si algo viene después, no está vacío, y si no, está vacío.
@Jon, ¿Por qué? No diciendo que no es así; puede ser; solo curiosidad por saber por qué. – Svish
No realmente, pero puede intentar eliminarlo. Si falla, no es vacía (o simplemente no se puede eliminar;))
function dirIsEmpty ($dir) {
return rmdir($dir) && mkdir($dir);
}
Actualización:
Parece que la respuesta, que se lleva a la condición de "sin analizar" en cuenta, no encontrar mucho amigos;)
function dirIsEmpty ($dir) {
return count(glob("$dir/**/*")) === 0:
}
Tenga en cuenta, que esto supone, que el directorio y todos los subdirectorios no contiene ningún archivo oculto (comenzando con un solo .
).
Intentar borrar algo para saber si está vacío parece sucio ... Aunque me puedo equivocar. (Y los permisos importan tal como lo dices) –
@Oktopus: No es la solución más limpia, pero en mi opinión es la única, que no requiere iterar sobre el contenido de los directorios (que por lo que entiendo no quería por el op). Mi "respuesta principal" a la pregunta "¿Hay una solución mejor" es "No realmente";) – KingCrunch
Suponiendo que el directorio no contiene ningún archivo oculto ... ¿no es un poco arriesgado? Si contiene archivos ocultos, no está realmente vacío, ¿o sí? – Svish
- 1. Cómo comprobar si un directorio está vacío en Java
- 2. Comprobar si el directorio está vacío en Ruby
- 3. ¿Cómo comprobar si el objeto JSON está vacío en PHP?
- 4. ¿La mejor manera de determinar si un archivo está vacío (php)?
- 5. C# comprobar si un directorio está oculto?
- 6. C# DataGridView Comprobar si está vacío
- 7. ¿Cómo comprobar si UITextFields está vacío?
- 8. En C#, ¿cuál es la mejor forma de comprobar si un conjunto de datos está vacío?
- 9. Compruebe si un directorio está vacío usando C en Linux
- 10. ¿Cómo comprobar si $ _GET está vacío?
- 11. Comprobación de si un vector está vacío
- 12. ¿Cómo comprobar si HTML sessionStorage no está vacío?
- 13. ¿Cómo comprobar si un valor está vacío en Lua?
- 14. ¿Cómo comprobar si un archivo está vacío en Bash?
- 15. PHP: si! Vacío y vacío
- 16. ¿Cómo comprobar si PHP mail() está habilitado?
- 17. Cómo comprobar si $ _GET [ 'id'] está establecido y no está vacío utilizando php
- 18. Cómo comprobar si hay un vacío Gridview
- 19. cómo comprobar si el campo de archivo está vacío?
- 20. AS3: compruebe si un diccionario está vacío
- 21. Cómo comprobar si mysql devuelve nulo/vacío
- 22. mejor método para comprobar si IonCube cargador está instalado
- 23. objetivo comprobar si el campo de texto está vacío
- 24. ¿Cómo comprobar si el objeto JSON está vacío en Java?
- 25. Con iOS, cómo comprobar si la URL está vacía
- 26. Comprobar si el buzón está vacío en erlang
- 27. Navaja MVC3: cómo comprobar si el modelo está vacío
- 28. ¿Cómo verifico si un repositorio está vacío?
- 29. recortar y comprobar si de entrada vacío
- 30. Cómo comprobar que ImageField está vacío
¿Cómo se analiza un directorio? ¿Cómo se comprueba actualmente si un directorio está vacío? (¿Y por qué están todas las respuestas downvoted aquí?) – Svish