· 8 years ago · Aug 31, 2018, 06:10 PM
1SimpleXML->asXML($filePath) failed to open stream permission denied
2public static function CreateEntityConfig($database,$tables,$overwriteNodes = false) {
3 if(!empty($database) && !empty($tables)) {
4 $conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
5 if(!$conn) { die('Could not connect: '.mysql_error()); }
6
7 // check to see if database node exists and overwrite if $overwriteNodes set to true
8 // else create new database node
9 mysql_select_db($database);
10 if(self::NodeExists('database',array('name',$database))) {
11 if($overwriteNodes) {
12 self::RemoveNode('database', array('name',$database));
13 } else {
14 die($database.' node already exists');
15 }
16 } else {
17 //echo '<br>type='.get_class(self::$_xml);
18 $databaseNode = self::AddNode(self::$_xml, 'Database', array('name' => $database));
19 }
20 $tableNode = self::AddNode($databaseNode, 'Table', array('name' => $tables));
21
22 $result = mysql_query('select * from '.$tables);
23 if(!$result) { die('Query failed: '. mysql_error()); }
24
25 $i = 0;
26 while($i < mysql_num_fields($result)) {
27 $meta = mysql_fetch_field($result, $i);
28 if($meta) {
29 self::AddNode(
30 $tableNode,
31 'Field',
32 array(
33 'name' => $meta->name,
34 'not_null' => $meta->not_null,
35 'type' => $meta->type
36 )
37 );
38 } else {
39 die('Unable to fetch meta information for '.$tables);
40 }
41 $i++;
42 }
43 mysql_free_result($result);
44 //if(!self::$_xml->asXML()) { die('Unable save xml to file'); }
45 echo self::$_xml->asXML(self::$_xmlFilePath);
46 } else { die('Database and Table arguments required'); }
47 mysql_close();
48 echo self::$_xmlFilePath.' successfully built.';
49}
50
51chmod o+w /path/to/folder