PHP - Función rename en un bucles para renombrar carpetas y archivos que tengan espacio y otras cosas

 
Vista:
Imágen de perfil de Georkis
Val: 75
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Función rename en un bucles para renombrar carpetas y archivos que tengan espacio y otras cosas

Publicado por Georkis (32 intervenciones) el 14/11/2015 01:51:26
Esta Script esta creada para renombrar las carpetas y ficheros que se encuentre con espacio y caracteres especiales... lo que necesito es que sea automatico y no manual dando F5 varias veces... ahora mismo estaba pensando incorporar esta script dentro de un bucle que repita la operación varias veces hasta 15 veces... no se hasta ahora... pueden ayudarme con esto... soy nuevo en esta rama de directorios... solo quiero que esto sea automatico dando clic y ya... si ustes sabes un mecanismo de contar la cantidad de sub-directorios y pasarlo al bucle... es una pedra lo que estoy diciendo... esto lo quiero para limpiar la url para acceder a los ficheros limpios de caracteres especiales...

Bueno espero que me ayuden les adjunto los dos ficheros....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Georkis
Val: 75
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Función rename en un bucles para renombrar carpetas y ficheros

Publicado por Georkis (32 intervenciones) el 22/11/2015 23:11:37
Hola ya resolví el problema del código, es util usarlo... cual es el objetivo de este código: limpiar la ruta con EL separador (-) y eliminar todas las letras chatarra...

La función o objetivo de este código es darle una ruta limpia a los ficheros para que sean descargables o verlo en la web... el otro paso me faltaria ingresar a la base de dato la URL eso es más fácil, lo otro es clasificar el tipo de ficheros para el uso en la web... por ejemplo si es video mp4 que soporte algún otro tipo de video que habilite el reproductor web DEL SITIO. y también el otro paso es desechar o eliminar los ficheros que no son necesario en la web.

Este código solo con ir a la página te hace el mantenimiento completo desde la carpeta raiz hasta el fichero...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
include './Util.php';
 
function archivos_y_directorios($ruta)
{
    if (is_dir($ruta)) //Comprobar si la ruta es verdadera
    {
        // Abrimos el directorio y comprobamos que hay directorio
        if ($opendir = opendir($ruta))
        {
 
            while (($archivo = readdir($opendir)) !== false)
            {
                // Si quisieramos mostrar todo el contenido del directorio pondríamos lo siguiente:
                //Mostrar todos los archivos excepto "." y ".."
                if ($archivo!="." && $archivo!="..")
                {
                    $ruta_completa = $ruta . '' . $archivo;
 
                    // Comprobamos si la ruta más file es un directorio (es decir, que file es
                    // un directorio), y si lo es, decimos que es un directorio y volvemos a
                    // llamar a la función de manera recursiva.
 
                    if (is_dir($ruta_completa))
                    {
 
 
                        //rename($ruta_completa, Util::getSlug($ruta_completa)); //linea para modificar los nombre de las carpetas
                           archivos_y_directorios($ruta_completa . "/");
 
 
                    }
                    else
                    {
 
                        $file=rename($ruta_completa, Util::getSlug($ruta_completa));
                        if(!$file)
                        {
                            header("Location: index.php");
                        }
                        echo "<a href='$ruta_completa' target='blank_'>".$archivo . "</a><br>"; //poner la variable $archivo para mostrar el nombre
 
                    }
 
                }
            }
 closedir($opendir);
 
            // Tiene que ser ruta y no ruta_completa por la recursividad
            echo "<strong>Fin Directorio:</strong>" . $ruta . "<br/><br/>";
            $renombrar=rename($ruta, Util::getSlug($ruta));
            if(!$renombrar)
            {
                header("Location: index.php");
            }
        }
        }
            else
            {
                //echo $ruta; //esta linea recorre si la ruta es buena
                //echo "<script>alert('Mantener ENTER hasta que termine el mensaje')</script>";
            }
        }
 
        archivos_y_directorios("mochila/")
        ?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Función rename en un bucles para renombrar carpetas y ficheros

Publicado por xve (6935 intervenciones) el 23/11/2015 08:01:10
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Georkis
Val: 75
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Función rename en un bucles para renombrar carpetas y ficheros

Publicado por Georkis (32 intervenciones) el 24/11/2015 14:17:55
HELLO, en este tema... mi sistema operativo es LINUX, por lo esta script es para LINUX, ya que trabajar con directorios es total diferentes en los dos sistema operativos... este código no funciona en windows, solo en LINUX... lo probé en WIN... cabum no funciona... el error es en la condición:

1
2
3
4
if(!$renombrar)//también en la condicion $file
{
head("Location: index.php"); //Si no se cumple el va a recargar el código nueva mente para entrar hacia al sub directorio y seguir el cambio de nombre...
}

En windows lo voy hacer de otra forma, de esta manera es una forma bruta a los directorio, si ustedes tienen un aporte puden hacerlo... a mi me resulta bien en linux, el proyecto esta dedicado para LINUX, y por supuesto cambia los nombre en segundos...

Gracias por el comentario
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Georkis
Val: 75
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Función rename en un bucles para renombrar carpetas y ficheros

Publicado por Georkis (32 intervenciones) el 19/12/2015 16:32:27
Hola, resolví el problema de esta Script en Windows... el problema es que yo probé el código en WAMPP y XAMPP cual de los dos dan problema con la clase Util que tiene como función de hacer Slug, para limpiar las tildes y symbolos raros... pues me tomé el trabajo de instalar el Appserv que se integra completo con el SO... pues funcionó al 100%, dentro de unos días publicaré el código completo. Ya me clasifica los ficheros para subir las rutas, aunque se puede hacer que lo que no estén en la lista lo elimine... TODO ESTA FUNCIONANDO... Dísculpe el buen programador cuando deja algo en falla, tiene que investigar... el WAMPP y XAMPP son para desarrolladores y no de producción... pa eso están los Server de producción que se instalan independiente como Linux... ese si no da problema y lo hace todo en segundo, subir rutas y todo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar