Bueno no se trata exactamente de un error solo que de una forma si se puede y de otra no verán tengo esta funcion.
Código PHP:
Ver original<?php
function deldir($dir){
while($entryname = readdir($current_dir)) {
if(is_dir($dir."/".$entryname) and
($entryname != "." and
$entryname!="..")) {
deldir("${dir}/${entryname}");
}
elseif($entryname != "." and $entryname!="..")
{
unlink("${dir}/${entryname}"); }
}
}
?>
funciona bien si la pongo asi
borra toda la subcarpeta 12 de la carpeta juan
pero si le aplico el código de verificacion
Código PHP:
Ver original<?php
//abro directorio
$leerCar = opendir("read1/juan/12"); $carpeta = "read1/juan/12/";
//leo con un while
while (($archivo = readdir($leerCar)) !== FALSE) {
if ($archivo != "." && $archivo != "..")
{
//si hay una subcarpeta borro todo el directorio pues no me sirve
if(is_dir($carpeta.$archivo) == TRUE) {
echo "hay subcarpeta dentro de 12<br/>";
deldir("read1/naruto/12");
break;
}
else
{
//si no hay subcarpeta en 12 imprimo nombres de los archivos
echo $carpeta.$archivo."<br/>";
}
}
}
?>
me borra todo lo que esta dentro de 12 pero no puede borrar la carpeta 12
esto lo que me da es lo siguiente
Código:
Warning: rmdir(read1/naruto/12) [function.rmdir]: Permission denied in C:\xampp... etc.
.
.
.
pensé que era por que el directorio estaba abierto antes de eliminarlo asi que agregue
o sea un closedir antes de la funcion de borrado y me dio esto
Código:
Warning: closedir() expects parameter 1 to be resource, string given in C:\xampp... etc.
Warning: rmdir(read1/naruto/12) [function.rmdir]: Permission denied in C:\xampp... etc.
.
.
.
no logro entenderlo