Ok, het werkt nu prima. Hij schrijft iedere tabel weg de functie hiervoor roep ik zo aan
PHP:
1
2
3
4
5
6
7
| mysql_connect ("","", "");
$db = "blaat"';
$tables = mysql_list_tables($db);
while (list($table_name) = mysql_fetch_array($tables))
{
mysqlbackup($db, $table_name);
} |
Het enige wat er nu gebeurt is dat de files met alleen leesrechten voor de eigenaar weggezet worden (chmod 600). Aangezien ik niet de eigenaar ben, kan ik er dus nix mee behalve deleten van de server.
Ik heb al geprobeerd om chmod toe te voegen in de functie maar zonder resultaat. Waar kan ik dit het beste doen?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| function mysqlbackup($db_database, $db_table)
{
//configuration
$backupto = 'padnaarbackupmap';
$filter = ""; //example: WHERE date=CURDATE()
//connect to database
$db_hostname = '';
$db_username = '';
$db_password = '';
if (!$db_connection = mysql_connect($db_hostname, $db_username, $db_password))
{
echo mysql_error();
}
if (!mysql_select_db($db_database, $db_connection))
{
echo mysql_error();
}
//read the table data and write backup
$rules = 0;
$handle = fopen($backupto.$db_table.' - '.date('Y-m-d (h-i-s)').'.txt', 'a+');
$getrecords = mysql_query("SELECT * FROM ".$db_table." ".stripslashes($filter));
$getfields = mysql_query("SELECT * FROM ".$db_table." LIMIT 1");
while ($record = mysql_fetch_object($getrecords))
{
//get all field names
$countfields = mysql_num_fields($getfields);
$field = 0;
fwrite($handle,'INSERT INTO '.$db_table.' (');
while ($field < $countfields)
{
if ($field <> 0)
{
fwrite($handle,', `'.mysql_field_name($getfields, $field).'`');
}
else
{
fwrite($handle,'`'.mysql_field_name($getfields, $field).'`');
}
$field++;
}
fwrite($handle,') VALUES (');
//get all data from records
$field = 0;
while ($field < $countfields)
{
$fieldname = mysql_field_name($getfields, $field);
if ($field <> 0)
{
fwrite($handle,', \''.stripslashes($record->$fieldname).'\'');
}
else
{
fwrite($handle,'\''.stripslashes($record->$fieldname).'\'');
}
$field++;
}
fwrite($handle,');'."\r\n");
$rules++;
}
fclose($handle);
} |