- Home
- Categorie
- Coding e Sistemistica
- PHP
- Rinominare più files di una cartella in ordine progressivo
-
Rinominare più files di una cartella in ordine progressivo
Ciao a tutti, mi aiutate gentilmente a risolvere questo problema? Io ne capisco poco.
Sono riuscita a scrivere questo:
[php]
<?php
$Directory = "../immagini/".$_GET['id']."/";
if(is_dir($Directory))
{
$dir = opendir($Directory);while(false !== ($file = readdir($dir))) if ($file != "." && $file != "..") { { for($i=0;$i<=count($file);$i++){
rename($file, "foto".$i.".jpg");
}}}}
header("Location: ".$_SERVER['HTTP_REFERER']);
?>
[/php]In pratica ho una cartella "immagini" con all'interno tante sottocartelle che contengono delle jpg con nomi a caso. Vorrei che lo script rinominasse le jpg della cartella che passo con $_GET['id'] così:
foto0.jpg
foto1.jpg
foto2.jpg
ecc eccOvviamente io ho scritto un'eresia ma ci ho provato. Potete aiutarmi?
-
Ciao LauPhp,
dovresti dirci cosa succede con quello script, escluderei comunque la necessità di quel for all'interno del while. Parentesi mi sembra ce ne sia qualcuna extra in ogni caso.
-
Cosi come sta non fa nulla, mi reindirizza alla pagina precedente ma all'interno della cartella non succede nulla
-
Prova cosi:
[php]<?php
$Directory = "../immagini/".$_GET['id']."/";
if(is_dir($Directory))
{
$dir = opendir($Directory);
$i = 1;
while(false !== ($file = readdir($dir)))
if($file != "." && $file != "..")
{
var_dump(rename($file, "foto".$i.".jpg"));
$i++;
}}
[/php]
-
Funziona alla grande! Ti ringrazio davvero di cuore mi hai risolto un problema enorme.
Mi è bastato solo mettere:
var_dump(rename($Directory.$file, $Directory."foto".$i.".jpg"));
al posto di
var_dump(rename($file, "foto".$i.".jpg"));e 0 come valore iniziale di $i
Grazie grazie grazie.
-
Figurati.
La funzione var_dump puoi rimuoverla, l'avevo messa solo per debug.