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