[PHP] nalezení a přejmenování souboru v adresáři

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Víťa1 13. 12. 2014 12:25

Zdravím
Potřeboval bych napsat skript který v definovaném adresáři najde soubor *.jpg který je nejčerstvější a přejmenuje ho a ten originál smaže díky
Promiňte mi. takové triviální otázky ale jsem samouk a androidí embryo Mám WIN8.1
Víťa1
Junior
Uživatelský avatar

Odeslat příspěvekod Just_jo 13. 12. 2014 13:26

Ale už dost. To snad není těžké vyhledat "php rename file" apod.
Přejmenování
Nejnovější soubor - vyhledání "php find newest file in directory"
Stackoverlow
Just_jo
Junior
Uživatelský avatar




Odeslat příspěvekod Víťa1 14. 12. 2014 21:20

Já si nevím rady potřebuji pomoc mě to nefunguje přejmenovaní co dělám špatně ? :-[ díky
Kód: Vybrat vše
<?php
$dir = "IPkamera/snap";
chdir($dir);
rename ("Schedule_20141213-104648.jpg","obrazek.jpg");
?>
Promiňte mi. takové triviální otázky ale jsem samouk a androidí embryo Mám WIN8.1
Víťa1
Junior
Uživatelský avatar

Odeslat příspěvekod Just_jo 15. 12. 2014 10:15

Zkontrolujte si výstup fce "chdir" Manual - pokud vrátí FALSE tak nejste ve správném adresáři
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 15. 12. 2014 10:54

chdir: a delas na widlich nebo v linuxu? pokud pouzivas nejaky require tak (pokud se nemylim) zadavas cestu od nej a ne od aktualniho adresare)
rename: a mas na ten file dostatecna prava?
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod Víťa1 15. 12. 2014 13:47

Práva adresáře a souboru jsem si pochopitelně nastavil a frehosting jede na linuxu a PHP Version 5.4.32 díky
Promiňte mi. takové triviální otázky ale jsem samouk a androidí embryo Mám WIN8.1
Víťa1
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 15. 12. 2014 14:27

no a ten rename volas v souboru ktery je ve stejnem adresari jako skript volany serverem? typicky se dneska vola index.php a pak mas neco v treba modules/neco/neco.php ktery je uncludovany.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod K8 15. 12. 2014 14:32

Jestli by nebylo jednodušší udělat ten rename s plnou cestou
K8
Pokročilý

Odeslat příspěvekod Víťa1 15. 12. 2014 16:16

Kód: Vybrat vše
<?php
$dir = "IPkamera2/snap";         
$pattern = '\.(zip|ZIP|pdf|jpg|JPG)$'; // check only file with these ext.         
$newstamp = 0;           
$newname = "";
$new = "obraz.jpg";

if ($handle = opendir($dir)) {               
       while (false !== ($fname = readdir($handle)))  {           
         // Eliminate current directory, parent directory           
         if (ereg('^\.{1,2}$',$fname)) continue;           
         // Eliminate other pages not in pattern           
         if (! ereg($pattern,$fname)) continue;           
         $timedat = filemtime("$dir/$fname");           
         if ($timedat > $newstamp) {
            $newstamp = $timedat;
            $newname = $fname;
          }
         }
        }
closedir ($handle);

// $newstamp is the time for the latest file
// $newname is the name of the latest file
// print last mod.file - format date as you like
//$stare = $newname;
//$dir = "/IPkamera2/snap";
//$sa = "IPkanera2/snap".$newname;
rename ("mujfrehosting.8u.cz/web/IPkanera2/snap/".$newname,"mujfrehosting.8u.cz/web/IPkanera2/snap/".$new);
echo $newname;       
//print $newname . " - " . date( "Y/m/d", $newstamp);


?>

Co dělám špatně ?
když tento skript vykonám ve stejném adresáři adresáři kde mam soubory které chci přejmenovat tak to funguje díky
Kód: Vybrat vše
<?php
$g ="Schedule_20141213-104618.jpg";
rename($g,"obraz.jpg")
?>
Promiňte mi. takové triviální otázky ale jsem samouk a androidí embryo Mám WIN8.1
Víťa1
Junior
Uživatelský avatar

Odeslat příspěvekod Just_jo 15. 12. 2014 16:45

Odpověď: v části "rename" je špatná cesta - zapněte si zobrazování chyb z php.
Odzkoušel jsem to a u mě to chodí po opravě cest u rename
Just_jo
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 15. 12. 2014 18:08

3x jsem tady zminoval ruzny moznosti proc je ta cesta do toho adresare blbe... tahle me nenapadla.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod Víťa1 15. 12. 2014 18:27

Just_jo píše:Odpověď: v části "rename" je špatná cesta - zapněte si zobrazování chyb z php.
Odzkoušel jsem to a u mě to chodí po opravě cest u rename

Je mi to už trapné ale ještě bych potřeboval poradit jak se zapíná zobrazení chyb :-[ díky
Promiňte mi. takové triviální otázky ale jsem samouk a androidí embryo Mám WIN8.1
Víťa1
Junior
Uživatelský avatar

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků