Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Varmuuskopiointifunktio

Matti Kaijomaa [30.12.2003 16:26:05]

#

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);
}
?>

Matti Kaijomaa [30.12.2003 16:26:50]

#

Ja sitten kommenttia

NiLon [31.12.2003 04:20:10]

#

niinno asian voi tietysti hoitaa manuaalisestikkin... ihan miten ite tykkää. ihan siistin näkönen ja silleesti.

antsa [31.12.2003 16:50:14]

#

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. :)

TETRIS [05.02.2004 17:15:05]

#

tää tulikin tarpeeseen...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta