Forum » Programiranje » PHP - zakaj mi ne zapise vsakokrat podatkov v datoteko?
PHP - zakaj mi ne zapise vsakokrat podatkov v datoteko?
Cokolesnik ::
S tole funkcijo se mi v xml datoteko ob vsakem zagonu php skripte zapisejo doloceni podatki (ki izvirajo iz definirane spremenljivke $gradivo).
$myFile = "../xml/slike.xml";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $gradivo;
fwrite($fh, $stringData);
fclose($fh);
Problem je v tem, da se to ne zgodi vedno, ampak da se podatki v XML datoteki osvezijo le takrat, ko imam v Internet Explorerju nastavljeno, da preverja za novejšo različico spletne strani OB VSAKEM OBISKU, ce pa imam vklopljeno (to je tudi privzeta nastavitev v WinXP) SAMODEJNO, pa se mi XML datoteka sploh ne osvezuje, potem ko recimo spreminjam vrednost ene od spremenljivk - primer:
http://www.chip.si/bostjan/slike/php/glava.php?oznaka=1
http://www.chip.si/bostjan/slike/php/glava.php?oznaka=2
XML datoteka, ki je sporna oz. se ne posodablja, tako kot je treba, pa se nahaja tukaj:
http://www.chip.si/bostjan/slike/xml/slike.xml
$myFile = "../xml/slike.xml";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $gradivo;
fwrite($fh, $stringData);
fclose($fh);
Problem je v tem, da se to ne zgodi vedno, ampak da se podatki v XML datoteki osvezijo le takrat, ko imam v Internet Explorerju nastavljeno, da preverja za novejšo različico spletne strani OB VSAKEM OBISKU, ce pa imam vklopljeno (to je tudi privzeta nastavitev v WinXP) SAMODEJNO, pa se mi XML datoteka sploh ne osvezuje, potem ko recimo spreminjam vrednost ene od spremenljivk - primer:
http://www.chip.si/bostjan/slike/php/glava.php?oznaka=1
http://www.chip.si/bostjan/slike/php/glava.php?oznaka=2
XML datoteka, ki je sporna oz. se ne posodablja, tako kot je treba, pa se nahaja tukaj:
http://www.chip.si/bostjan/slike/xml/slike.xml
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
- spremenilo: Cokolesnik ()
W3by ::
Ah ti klinčevi problemi z shranjevanjem strani - cache
To bi moglo delat: (vstavi nad htmljem)
To bi moglo delat: (vstavi nad htmljem)
<?php header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" ); header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" ); header( "Cache-Control: no-cache, must-revalidate" ); header( "Pragma: no-cache" ); ?>
Cokolesnik ::
Ne potegne mu, še vedno trmasto vztraja pri prikazovanju ene in iste zadeve. A pogruntal sem ga, fora je v tem, da sem mu ukazal, da v parametru (ki je naveden pri zagonu swf datoteke) isce konfiguracijsko datoteko z nakljucno geneniranim imenom (ki se generira kot unikatna stevilka ob vsakem obisku spletne strani - npr. 220233343.xml, 394342345.xml in podobno). Zdaj pa se ubadam s tem, kako v skripti pobrisati ob vsakem obisku spletne strani te generirane datoteke - tukaj je moja funkcija za omenjeno brisanje:
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
W3by ::
tukaj je moja funkcija za omenjeno brisanje:
Jst funkcije žal ne vidm, če pa boš brisal datoteke si oglej unlink()!
Vso srečo v PHP-ju
Cokolesnik ::
Imam težavo z uporabo svoje funkcije (v prejšnjem sporočilu sem jo pozabil prilepiti):
$pot=neka sistemska pot ala /opt/sites...
$folder2.=$pot;
$folder2.='xml/tmp/';
$dir2 = dir($folder2);
$allow2 = array ('tmp');
while( $file2 = $dir2->read() ) {
$fa2 = explode('.', $file2);
if( 1 < count($fa2) && in_array($fa2[count($fa2)-1], $allow2) ) {
//unlink('$folder2$file2');
echo "$folder2$file2";
}
}
Ker mi ni funkcija delala, sem si naredil izpis (echo v 3 vrstici od spodaj navzgor) in glej ga zlomka, izpisalo je takole:
opt/sites/www.chip.si/web/bostjan/slike/xml/tmp/1... in tako naprej...
izpisati pa bi moralo recimo tole:
opt/sites/www.chip.si/web/bostjan/slike/xml/tmp/1...
pa da bi potem zanka še enkrat pogledala če je še kaka datoteka v izbrani mapi in jo ponovno pobrisala pa še enkrat pogledala pa še enkrat pobrisala pa še enkrat pogledala pa še enkrat pobrisala morebitno še najdeno tmp datoteko.
Kako bi potem popravil mojo zgornjo skripto?
$pot=neka sistemska pot ala /opt/sites...
$folder2.=$pot;
$folder2.='xml/tmp/';
$dir2 = dir($folder2);
$allow2 = array ('tmp');
while( $file2 = $dir2->read() ) {
$fa2 = explode('.', $file2);
if( 1 < count($fa2) && in_array($fa2[count($fa2)-1], $allow2) ) {
//unlink('$folder2$file2');
echo "$folder2$file2";
}
}
Ker mi ni funkcija delala, sem si naredil izpis (echo v 3 vrstici od spodaj navzgor) in glej ga zlomka, izpisalo je takole:
opt/sites/www.chip.si/web/bostjan/slike/xml/tmp/1... in tako naprej...
izpisati pa bi moralo recimo tole:
opt/sites/www.chip.si/web/bostjan/slike/xml/tmp/1...
pa da bi potem zanka še enkrat pogledala če je še kaka datoteka v izbrani mapi in jo ponovno pobrisala pa še enkrat pogledala pa še enkrat pobrisala pa še enkrat pogledala pa še enkrat pobrisala morebitno še najdeno tmp datoteko.
Kako bi potem popravil mojo zgornjo skripto?
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
Zgodovina sprememb…
- spremenilo: Cokolesnik ()
mile ::
kaj pa
http://www.chip.si/bostjan/slike/xml/slike.xml?krneki=$random_number
Zgodovina sprememb…
- spremenil: mile ()
Cokolesnik ::
MILE: ZAKON !!!! :)
S funkcijo ( vir):
srand ((double) microtime( )*1000000);
$random_number = rand( );
echo "$random_number";
sem se izognil mucenju z generiranjem datotek, brisanjem slednjim pa še čim... Skorajda sem imel že nočno moro, kako bom z ftp klientom brisal vsako nedeljo ustvarjene tmp datoteke.:)
Odlično! :) A vendarle sem se dobro naučil unlink in še kakšno funkcijo zraven.:)
No, ko flashu povem, da naj išče v .xml?krneki=unikatna_stevilka, ga uspešno preslepim.:)
S funkcijo ( vir):
srand ((double) microtime( )*1000000);
$random_number = rand( );
echo "$random_number";
sem se izognil mucenju z generiranjem datotek, brisanjem slednjim pa še čim... Skorajda sem imel že nočno moro, kako bom z ftp klientom brisal vsako nedeljo ustvarjene tmp datoteke.:)
Odlično! :) A vendarle sem se dobro naučil unlink in še kakšno funkcijo zraven.:)
No, ko flashu povem, da naj išče v .xml?krneki=unikatna_stevilka, ga uspešno preslepim.:)
Uporabniki naj pred pisanjem sporočil uporabljajo iskalnik www.google.com.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
Čokolešnik ne vsebuje nobenih aditivov, konzervansov ali umetnih barvil.
Zgodovina sprememb…
- spremenilo: Cokolesnik ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | EXIF - izpis podatkov o sliki v PHP ju?Oddelek: Programiranje | 1824 (1560) | Cokolesnik |
» | WinRar ima hrosca pri split-arhiviranjuOddelek: Programska oprema | 1343 (1145) | Cokolesnik |
» | PHP: kako bi zbrisal vse datoteke v podmapi TMPOddelek: Programiranje | 1198 (1101) | Cokolesnik |
» | Moje prvo poletje z Canon EOS 350D in 100 mm makro USMOddelek: Loža | 1538 (1390) | jype |
» | PHP mailing lista - dobra ?Oddelek: Programiranje | 1059 (941) | Cokolesnik |