Autor Zpráva
dife
Profil *
je mozne nejak udelat to ze si zkopiruju soubor z adresare do jineho a v tom novem adresari zustane soubor jen cca 10 minut.

Nebo nejakou dobu a potom se smaze.??
Alphard
Profil
sám se nesmaže, ale spuštěný skript by mohl kontrolovat čas posledního přístupu ( http://cz2.php.net/manual/cs/function.fileatime.php ) a případně vymazat
guest
Profil
myslím, že ne. Leda, že by sis někam uložil čas v kolik se to má smazat a pak při každém proběhnutí skriptu by to zkontrolovalo, zda ten čas už byl a pokud ano, tak by se soubor smazal
dife
Profil *
no uvidime nejak to zkusim vyzkouset.

a kdybch ten cas ulozil do databaze .?

hmm myslim ze to je zbytecne no nevim
djlj
Profil
dife
Použij cron, který spustí soubor jednou za 10 minut - ten zkontroluje, jak je soubor starý, a staré vymaže.
dife
Profil *
djlj
hmm
cron o tom jsem neslysel pokusim se vyguglit ale jestli mas nejaky link na popis vyuziti a vlastnosi tak bych ho bral
djlj
Profil
http://en.wikipedia.org/wiki/Cron
Yrrah
Profil
dife
Pokud máš stránky na nějakém hostingu, zeptej se, jestli tam něco jako cron běží. Jinak existuje taky webcron, ale nevím, jestli to to pomůže.
Pokud si stránky jedeš někde u sebe a na Winech, stačí ti prostě přidat Naplánovanou úlohu a např. každou minutu spouštět PHP skript, který ten soubor smaže (po 10 minutách existence).

Uložení toho času do DB nestačí. Musí být ještě něco, co bude na ten čas koukat a soubor mazat.
dife
Profil *
Jde nejak zajistit aby script bezel stale a zistoval jsi cas-?? A pokud se rovna cas nejake hodnote tak provedl akci .

potom by se pripadne ukoncil.?
dife
Profil *
Yrrah

no zkusim se zeptat ale vubec nemam paru jak potom pouzit CRON .
tiso
Profil
Jde nejak zajistit aby script bezel stale a zistoval jsi cas? - nejde... Preto sa používa cron - naplánuje sa že každých 10 minút spustí nejaký skript, ten sa potom vykoná...
DoubleThink
Profil *
Jenom dodám, že takto krátký interval cronu standardně neposkytuje žádný normální hosting. Intervaly většinou začínají na 1 hodině.
djlj
Profil
dife
Nebo můžeš zkusit http://vsevjednom.cz/?page=webcron
dife
Profil *
hmm asi to udelam tak ze pri kazdem spusteni skriptu uzivatelem se vymazou soubory v adresari a nakonec tam vlozim to co chce ten klient .


uvidim jak to bude fungovat

jinak vsem dekuji

:-)
dife
Profil *
Tak jsem to vymyslel jinak pokud by mel nekdo zajem se podivat je to jen takova kostra na kterou potom jeste navazu vice podminek a vylepsim ale dneska se me uz nechce:



$cas = date("i");
echo $cas."<br />";
$adresar = opendir("../docasne/");
$soubor = readdir($adresar);
echo $soubor."<br />";
$cesta = "../docasne/";
$konfigurace = $cesta.$soubor;
$vytvoreni = StrFTime("%M", filectime($konfigurace));
echo $vytvoreni."<br />";
$uplynuti = $vytvoreni + 10;
if ($cas >= $uplynuti) { echo "Vas cas vyprsel soubor bude smazan";
} else { echo "mate jeste cas";
}

dife
Profil *
jo aby jste to pochopili predchozi skritp nakopiruje soubor do adresare docasne
jablon
Profil *
No myslí¨m, že to jde jenom na placeným webhostingu, tomu programu se říká crool nebo nějak tak, a ten spouští script v určitou dobu a provee ho x krat - myslím.
tiso
Profil
jablon - prečítaj si 5-ty príspevok
dife
Profil *
Finalni reseni scriptu s popisem




// tam kde jsou echa to jsou overovaci promenne kdyby byl problem,
// jak to teda cele funguje: pokud je stisknuto v predchozim formulari tlacitko pokracovat ne bo v teto sekci reset
// tak se udela cislo, retezec a cas dale se proveri jestli neco je v adresari "../fotoalbum/docasne/" pokud je prazdny
// vytvori se pomena $zaden soubor. Pokud je v adresari "../fotoalbum/docasne/" neco prepise se promena $soubor na $re_soubor
// vytvori se $cesta a $konfigurace. Dale pokud neexistuje soubor $konfigurace vytvori se $neexistuje. Pokud existuje soubor
// $konfigurace zisti se cas vytvoreni souboru . Dale se nastavi onych deset minut v pomene $uplynuti. Dale se zisti jestli
// aktualni cas je vetsi nez cislo v promene $uplynuti pokud je vyzsi tak se soubor smaze. a dal se mi uz to nechce vysvetlovat.
if (isset($_POST["pokracovat"]) or isset($_POST["reset"]) ) {
$cislo = $_POST["cislo"];
$retezec = 'http://nekde.cz/fotoalbum/docasne/';
$cas = date("i");
// echo $cas."<br />";
$adresar = opendir("../fotoalbum/docasne/");
$soubor = readdir($adresar);
// echo $soubor."<br />";
if ($soubor == ".") { $zaden_soubor = " V adresáři nenalezen žáden soubor. ";
} else {
$re_soubor = $cislo.".cfg";
$soubor = $re_soubor;
// echo $soubor."<br />";
$cesta = "../fotoalbum/docasne/";
$konfigurace = $cesta.$soubor;
if (!file_exists($konfigurace)) { $neexistuje = "Soubor ".$soubor." neexistuje";
} else {
$vytvoreni = StrFTime("%M", filectime($konfigurace));
// echo $vytvoreni."<br />";
$uplynuti = $vytvoreni + 10;
if ($cas >= $uplynuti) { $vyprsel = "Váš čas vypršel soubor bude smazán! ";
unlink($cesta.$soubor);
}
elseif ($cas < $vytvoreni) { echo "Cas je mensi nez cas vytvoreni, soubor bude smazan";
} else { $ok = "Máte ještě čas.";
$zbyva = $uplynuti - $cas;
switch ($zbyva) {
case "1": $doba = " minuta";
break;
case "2":
case "3":
case "4": $doba = " minuty";
break;
default : $doba = " minut";
}
$kolik = " Zbýva Vám ještě ".$zbyva.$doba ;
}
}
}
} else {
echo "nebylo zvoleno tlacitko Pokracovat";
}



Toto téma je uzamčeno. Odpověď nelze zaslat.

0