Tällä funktiolla voi varmuuskopioida filuja (ainaki ittelleni tästä on hyötyä, oon poistanu mun sivut 2 kertaa vahingos :D). Luo juurihakemistoon hakemisto "varmuuskopiot" ja chmodaa se 770. Tämän jälkeen tunkase alla oleva koodi esim. index.php:hen ja homma on valmis. Varmuuskopiointi tapahtuu kirjottamalla koodiin: varmuuskopioi ("tiedosto.paate"); jolloin tiedosto.paate lähetetään varmuuskopiot-hakemistoon. Ei hyödytä paljoa missään tietokannoissa, mutta esim. dynaamisilla sivuilla tätä kannattaa käytää, jolloin sivuston rungon saa helposti palautettua.
<?php # Tämä versio antaa sinun määritellä varmuuskopioitavan tiedoston function varmuuskopioi($filu) { //tarkistetaan että onko varmuuskopiointitiedostoa olemassa if (file_exists("varmuuskopiot/" . $filu) == "false") { //jos ei niin luodaan se ja chmodataan 770. touch ("varmuuskopiot/" . $filu); chmod ("varmuuskopiot/" . $filu, 0770); } //nyt haetaan varmuuskopioinnin sisältö $data = file_get_contents($filu); //ja nyt varmuuskopioidaan tiedosto $file = fopen("varmuuskopiot/" . $filu, "w"); flock ($file,2); fwrite ($file, $data); flock ($file,3); fclose ($file); } ?>
<?php # Tämä taas kopioi suoritettavan tiedoston function varmuuskopioi() { //haetaan suoritettavan tiedoston nimi $filu = $_SERVER["PHP_SELF"]; //tarkistetaan että onko varmuuskopiointitiedostoa olemassa if (file_exists("varmuuskopiot/" . $filu) == "false") { //jos ei niin luodaan se ja chmodataan 770. touch ("varmuuskopiot/" . $filu); chmod ("varmuuskopiot/" . $filu, 0770); } //nyt haetaan varmuuskopioinnin sisältö $data = file_get_contents($filu); //ja nyt varmuuskopioidaan tiedosto $file = fopen("varmuuskopiot/" . $filu, "w"); flock ($file,2); fwrite ($file, $data); flock ($file,3); fclose ($file); } ?>
Ja sitten kommenttia
niinno asian voi tietysti hoitaa manuaalisestikkin... ihan miten ite tykkää. ihan siistin näkönen ja silleesti.
Kätevä ja hyödyllinen tämä on mielestäni. Koodasin samantyyppisen tämmöisen, koska sivuni käyttivät tekstitiedostoja tietojen säilömiseen, ja sitten pari kertaa tuli tuhottua ne vahingossa. :)
tää tulikin tarpeeseen...
Aihe on jo aika vanha, joten et voi enää vastata siihen.