#1 2014-12-13 21:01:21

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Zdravím
Potřebuji v definovaném adresáři najít soubor typu jpg který je nejnovější

 
$dir = "/web/IPkamera2/snap";         
$pattern = '\.(zip|ZIP|pdf|jpg|JPG)$'; // check only file with these ext.          
$newstamp = 0;            
$newname = "";

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            
print $newname . " - " . date( "Y/m/d", $newstamp); 

mě to vypíše  - 1970/01/01 co dělám špatně ? díky

Offline

#2 2014-12-13 21:34:35

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Tipuji:
Špatně uvedená cesta k souboru.

$dir = "/web/IPkamera2/snap";

zkuste ji změnit na relativní cestu k adresáři

$dir = "IPkamera2/snap";

1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#3 2014-12-14 15:59:57

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Pomohlo to dík
Další věc přejmenovaní souboru
narážím na toto

rename("oldsoubor","newsoubor");

ale já bych potřeboval

rename($promenná,"newsoubor");

jde to nějak? díky

Offline

#4 2014-12-14 16:14:11

Destroyer
Endora rádce
Registrován: 2009-11-01
Příspěvky: 2,097
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

mne to funguje v pohode, akorat diakritika v nazvu promennych se mi nelibi smile

Offline

#5 2014-12-14 16:33:56

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Pochopitelně tu diakritiku nepoužívám napiš mi správnou syntaxi jak to děláš ty která ti funguje díky

Offline

#6 2014-12-14 21:37:40

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Musí fungovat standardní.
Co není funkční na

rename($promenna,"newsoubor");

musí fungovat i

rename($stary_nazev, $novy_nazev");

1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#7 2014-12-14 22:16:18

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Mě je  to líto ale mě to nefunguje  už jsem s toho špatný potřebuji něco udělat co nejdřív a pořád nemůžu s tím hnout díky

Offline

#8 2014-12-15 00:37:51

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

A máte tú premennú niekde deklarovanú? Nestačí tam dať len názov premennej, tá premenná musí mať aj nejakú hodnotu a nikde nevidím, kde ju nastavujete.


Portfólio
E-mail: eduard(at)karpiel.sk

Offline

#9 2014-12-15 19:04:13

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

manca napsal:

Mě je  to líto ale mě to nefunguje ...

Co přidat zdrojový kód, který Vám nefunguje? Vyřešilo by to více, než se tady dohadovat co je a co není a proč to nejde.


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#10 2014-12-15 20:05:37

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

<?php
$dir = "IPkamera2/snap";         
$pattern = '\.(zip|ZIP|pdf|jpg|JPG)$'; // check only file with these ext.          
$newstamp = 0;            
$newname = "";
$new = "obraz.jpg";
  error_reporting(E_ERROR | E_WARNING | E_PARSE);
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,"mujfrehsting.8u.cz/web/IPkanera2/snap".$new);
 echo $newname;       
//print $newname . " - " . date( "Y/m/d", $newstamp); 


?>

Určitě dělám chybu  v příkazu rename jenže kde? díky

Offline

#11 2014-12-15 21:37:00

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

A existuje súbor pod názvom snapnazov_suboru.jpg? Nemá byť snap náhodou priečinok?

Ďalej máte raz priečinok IPkamera2 a pri rename ho určujete ako IPkanera2


Portfólio
E-mail: eduard(at)karpiel.sk

Offline

#12 2014-12-15 22:01:31

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

J8 jsem byl ve špatném adresáři toto funguje
$dir = cesta adresáře

chdir($dir);
rename ($newname,$new);

teď řeším další problém jak přesunout přejmenovaný soubor o adresář víš protože ten skript hledá nejnovější soubor a to pochopitelně najde ten nejnovější to znamená přejmenovaný a já bych potřeboval ho přesunout o adresář víš  díky

Offline

#13 2014-12-15 22:09:20

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Nastavte mu cestu kam jej chcete přesunout.


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#14 2014-12-16 08:35:00

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Jenže jak? funkci copy jak ji použít ? a jaká bude její  syntaxe ? škoda že tady nejsou smajliky k vyjádření mých rozpaků díky

Offline

#15 2014-12-16 09:46:00

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

manca napsal:

Jenže jak? ...

Jak co?

$stary_nazev = 'cesta1/nazev_souboru';
$novy_nazev = 'cesta2/nazev_souboru';
rename ($stary_nazev, $novy_nazev]
manca napsal:

... funkci copy jak ji použít ? ...

Co tedy chcete? Zkopírovat soubor nebo jej přesunout?

Občas je vhodné nahlédnout do manuálu php - funkce copy, funkce rename


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#16 2014-12-16 12:03:05

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

$zdroj ="obraz.jpg";  // zdroj je v adresáři snap což je vnořený adresář v adresáři IPkamera2  
$cil = "IPkamera2";  // kde bych chtěl mít přesunut soubor obraz.jpg
copy($zdroj,$cil);

já bych to potřeboval zkopírovat do nadřazeného adresáře IPkamera2
adresářový strom vypadá takto
web/
IPkamera2/snap
i když mám zapnutou funkci
error_reporting(E_ERROR | E_WARNING | E_PARSE);
tak mě to nevyhodí žádní warming ale taky nenajdu v adresáři IPkamera  soubor obraz.jpg kde dělám chybu? díky

Offline

#17 2014-12-16 17:18:19

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Zadávajte absolútnu cestu k adresáru. Použite na to funkciu napr. getcwd(). Tým získate absolútnu cestu k aktuálnemu pracovnému adresáru.


Portfólio
E-mail: eduard(at)karpiel.sk

Offline

#18 2014-12-16 20:34:32

manca
Člen
Registrován: 2012-06-09
Příspěvky: 61

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Díky pánové tak to konečně funguje ale ještě bych potřeboval poradit jak v adresáři vymazat všechny soubory? díky

Offline

#19 2014-12-16 23:12:43

kksmirice
Endora rádce
Místo: Vrchovnice
Registrován: 2011-11-20
Příspěvky: 6,023
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Zkoušel jste hledat a zapojit tak vlastní námahu k vyřešení problému?

unlink("soubor.ext");

Např. si můžete upravit tento kód podle Vašich představ.


1. Murphyho zákon:
Na počátku nebylo nic. I to se pokazilo!

stránky: CMS test
kontakt - instalace systémů, MySQL, FTP přístup, ...
Instalační balíky vybraných CSM

Problémy spojené s provozem služeb Endora, řešte na tomto fóru.

Offline

#20 2014-12-16 23:50:50

Lkopo
Podpora
Registrován: 2010-02-12
Příspěvky: 1,916
Web

Re: Nalezení nejnovějšího souboru typu jpg v definovaném adresáři

Na to už len stačí táto pomôcka smile


Portfólio
E-mail: eduard(at)karpiel.sk

Offline

Zápatí

Založeno na FluxBB | CZ a SK