PHP schreibrechte auf datai abfragen & ist mysql tabelle schon angelegt?

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
562
hallo,

ich befasse mich seit 5 jahren das erste mal wieder mit php und bräuchte etwas unterstützung.


1. schreibrechte auf datei/ordner:
ich möchte per php wissen, welche schreibrechte auf einer bestimmten datei oder einem bestimmten ordner liegt.

2. abfragen ob es eine tabelle xyz schon gibt:
ich habe ein script schon erstellen meiner tabellen. ich möchte das es sich aber nur ausführen lässt, wenn die tabellen noch nicht existieren!

knackpunkt: das script stellt nur die tabellen her, befüllt diese aber nicht. der inhalt ist also immer = 0.

Kann mir da jemand helfen?
 
Über SHOW TABLES kannst Du Dir alle Tabellen ausgeben lassen. Falls in dem Ergebnis die besagte Tabelle auftaucht brauchst Du diese nicht mehr erstellen zu lassen.

Dateirechte solltest Du mit fileperms($file) ermitteln können.
 
So teste ich ob eine Table vorhanden ist:
PHP:
$result = mysql_query("SELECT * FROM " . $table . " LIMIT 1");
            if (!$result) {
                return false;
            } else {
                return true;
            }

// geht auch leichter mit return $result wenn man eine resourceeinfach als true wertet;

das ERSTE suchergebniss bei googlespuckte folgendes aus:
PHP:
<?
function table_exists ($table, $db) { 
	$tables = mysql_list_tables ($db); 
	while (list ($temp) = mysql_fetch_array ($tables)) {
		if ($temp == $table) {
			return TRUE;
		}
	}
	return FALSE;
}

/** How to use it **/
if (table_exists(test_table, my_database)) {
	echo"Yes the table is there.";
}
?>
ODER, besser:

<?
// here is a much more elegant method to check if a table exists ( no error generate)

if( mysql_num_rows( mysql_query("SHOW TABLES LIKE '".$table."'")))
{
 //...
}

?>

zum schreibrechte problem:

http://php.net/manual/de/function.fileperms.php


darf man fragen was das für ein script ist das ständig igrnedwelchen leeren Tables erstellt?
Wenn es ansonsten nur einmal oder z.B. für die installation ausgeführt wirdkann man auch direkt im SQL Query prüfen. Create table if not exists oderso
edit:
sorry hab den post meines vorredners nicht ganz gelesen ^^
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben