Buenos días!
Tengo un problemilla que me está llevando al suicidio...
Tengo una aplicación que necesita borrar una carpeta con sus subdirectorios y archivos via ftp mediante comandos php, he conseguido un código de la web de php.net que funciona de perlas sobre Linux pero sobre windows, nada de nada.
Aparentemente la función ftp_nlist, lo utilizo para comprobar si el directorio tiene carpetas o archivos pero no lista los subdirectorios pero si los archivos.
La conexión ftp es activa, aunque creo que no tendría que afectar esto...
adjunto el código a ver si hay alguien que se le ocurra algo...
Cita: function DeleteDirRecursive($resource, $path) {
$result_message = "";
$list = ftp_nlist($resource, $path);
if(empty($list)){
$list = RawlistToNlist( ftp_rawlist($resource, $path), $path . ( substr($path, strlen($path) - 1, 1) == "/" ? "" : "/" ) );
}
if($list[0]!=$path){
$path.=(substr($path,strlen($path)-1,1)=="/"?"":"/");
foreach($list as $item) {
if ($item != $path.".." && $item != $path.".") {
$result_message .= DeleteDirRecursive($resource, $item);
}
}
if (ftp_rmdir ($resource, $path)) {
$result_message .= "Successfully deleted $path <br />\n";
} else {
$result_message .= "There was a problem while deleting $path <br />\n";
}
}
else {
if (ftp_delete ($resource, $path)) {
$result_message .= "Successfully deleted $path <br />\n";
} else {
$result_message .= "There was a problem while deleting $path <br />\n";
}
}
return $result_message;
}
function RawlistToNlist($rawlist, $path) {
$array = array();
foreach ($rawlist as $item) {
$filename = trim(substr($item, 55, strlen($item) - 55));
if ($filename != "." || $filename != "..") {
$array[] = $path . $filename;
}
}
return $array;
}
¿Me podeis ayudar?
Gracias de antemano!!