Zdravim vsechny,
Potřeboval bych skript, kterému zadám cestu do nějáké složky, která bude plná fotek, a on by ty fotky vzal a vsechny prejmenoval na 1.jpg; 2.jpg; 3.jpg..... atd.. Zhruba vím jak na to, ale káždá rada by mi pomohla a zkratila moji metodu pokus omyl.. předem moc děkuji za všechny odpovědi...
//Změněn název. Zkus si pročíst http://quinix.wz.cz/index.php?clanek=1. Thalia
Spodil sem toto a pochopitelne mi to nefunguje.. muzes mi jeste trouchu poradit ? :-) predem dekuji.. ;-)
<?php
$handle=opendir('slozka');
while (false!==($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$i=1;
while ($i<=$pocet)
{
$old = "slozka/".$file;
$new = "slozka/".$i.".jpg";
rename($old, $new);
$i++;
}
}
}
closedir($handle);
?>
$i=1;
$handle=opendir('slozka');
while(($file = readdir($handle)) !== false) {
if(($file != '.') && ($file != '..') {
$old = 'slozka/'.$file;
$new = "slozka/{$i}.jpg";
rename($old, $new);
$i++;
}
}
closedir($handle);
premyslej, proc to tvoje nefungovalo a tohle funguje (nebo teda by melo, mozna je tam syntakticka chyba nebo preklep, coz si ale jiste opravis)
jo a mozna se budes divit, ale bude to ty soubory brat tak nejak napreskacku
a jeste by nebylo od veci testovat navratovy hodnoty funkci
uz sem napsal svuj bohuzel ted nejsem doma, ale pokud bys ho chtel videt, rad ho sem hodim... funguje bez problemu a ani nic nepreskakuje.. ;-)
<HTML>Ja tohle resil kdysi takto:
function rename_files($dir, $names, $cstart = 0) {
$counter = $cstart;
if (is_dir($dir)) {
if ($resource = opendir($dir)) {
while (($file = readdir($resource)) !== false) {
if (is_file($dir.$file)) {
if (!rename($dir.$file, $dir.sprintf($names, $counter++)))
return false;
}
}
closedir($resource);
}
else
return false;
}
else
return false;
return true;
}
pouziti napr.: rename_files("img/", "obrazek_%d.jpg");</HTML>