Adatbázis kiíratása PHP-val, probléma!
Sziasztok!
Van egy phpscriptem, amit ha meghívok manuálisan, vagy cron jobbal ütemezve, akkor az lenne a feladata, hogy lementi az adatbázisom arra az ftp-re ahol maga a script van.
Mivel beszeretném ütemezni, hogy naponta 2x mentsen, az lenne nekem az ideális ha mindig felülírja az előzőt.
Viszont nem felülírja, hanem megnyitja és beleírja mindig az újat a fájlba, így nő a végtelenségig és phpmyadminban vissza sem tudom importálni.
Íme a kódrészlet ami ezért felel:Előre is köszönöm.
■ Van egy phpscriptem, amit ha meghívok manuálisan, vagy cron jobbal ütemezve, akkor az lenne a feladata, hogy lementi az adatbázisom arra az ftp-re ahol maga a script van.
Mivel beszeretném ütemezni, hogy naponta 2x mentsen, az lenne nekem az ideális ha mindig felülírja az előzőt.
Viszont nem felülírja, hanem megnyitja és beleírja mindig az újat a fájlba, így nő a végtelenségig és phpmyadminban vissza sem tudom importálni.
Íme a kódrészlet ami ezért felel:
- function db_mentese(){
- $backup_file = 'product_database.sql';
- $fp = fopen($backup_file, 'a');
- $alap = "# Products";
- fputs($fp, $alap);
- //Itt felsrolsz annyi táblát amennyi kell. Vagy beolvastatod az összes táblád nevét.
- $pro = array("jos_vm_product");
- //Táblák kiíratása
- for($k=0; $k < count($pro); $k++){
- $tabla=$pro["$k"];
- $oszlopok='drop table if exists ' . $tabla . ';' . "\n" .
- "create table ".$tabla . " (\n";
fopen
Nezd meg az fopen "mode" parameterenek a lehetseges ertekeit, es hogy melyik mit jelent. A count() hasznalata a for-ban nem ajanlott, hasznalj helyette foreach-et, esetleg elore szamold meg az elemeket.
fopen($backup_file, 'a')Az
Egyébként mi értelme van az ilyesminek? Úgy értem azért a legtöbb szolgáltató ad valamilyen lehetőséget adatbázis mentésre, visszaállításra. Ha meg nem az ő hibájukból romlik el valami, akkor fél nap alatt úgysem veszed észre, és máris felülírtad...
Lehet értelme