Do_0mi
Mitglied
Hi Leute,
ich wollte für mein Projekt, das einem Dateien auf dem Server anzeigt, nun für jede Datei eine Haken-Auswahl ob diese Datei veröffentlicht ist oder nicht machen. Das Formular dafür habe auch perfekt hinbekommen.
Jedoch habe ich bereits jetzt bei dem Aufabe des php-files Probleme.
Zuerst einmal eine Frage: Ist es sinnvoll und performant alle Dateien einzeln durchlaufen zu lassen und dann zu testen oder gibt es noch andere Möglichkeiten?
Meine Aufbau sollte folgender sein:
Die Dateinamen werden, falls Haken gesetzt, per POST als "filename=public" gesendet.
Meine Anfänge:
Er meldet "Warning: readdir(): supplied argument is not a valid Directory resource in /homepages/21/d76665669/htdocs/dariodomi/projekt_ezes/test/contents/publicfiles.php on line 15".
Neben diesem Problem bin ich mit den SQL-Anweisungen total am verzweifeln. Ich nehme mal an, dass "while ($row = mysql_fetch_array($result)) {" nicht sein muss, da es jeden Dateinamen ja eh nur einmal in der DB gibt.
Zudem ist "if(!isset($row['$file2']) ...)" wahrscheinlich auch nicht das richtige für "Datei in DB vorhanden", oder?
Über Hilfe freue ich mich wirklich sehr.
Gruß, Do_0mi
ich wollte für mein Projekt, das einem Dateien auf dem Server anzeigt, nun für jede Datei eine Haken-Auswahl ob diese Datei veröffentlicht ist oder nicht machen. Das Formular dafür habe auch perfekt hinbekommen.
Jedoch habe ich bereits jetzt bei dem Aufabe des php-files Probleme.
Zuerst einmal eine Frage: Ist es sinnvoll und performant alle Dateien einzeln durchlaufen zu lassen und dann zu testen oder gibt es noch andere Möglichkeiten?
Meine Aufbau sollte folgender sein:
HTML:
while (DATEI HOLEN) {
SQL MACHEN
IF(DATEI_in_DB_vorhanden && Nicht_per_Post_gesendet) {
Datei aus DB rausnehmen!
} elseif(Datei_in_DB_nicht_vorhanden && Per_Post_gesendet) {
Datei in DB schreiben!
}
}
Die Dateinamen werden, falls Haken gesetzt, per POST als "filename=public" gesendet.
Meine Anfänge:
PHP:
$dir = $_POST['dir'];
// POST: "blub.txt=public"
$handle = @opendir($dir);
while (false !== ($file = readdir($handle))) {
$sql="SELECT * FROM `".precode."files` where filename=`".$file."` and filedir=`".$dir."`";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
if (!isset($row['$file2']) && !isset($_POST['file'])) {
// wenn in db vorhanden und haken nicht gesetzt
// File aus Datenbank entfernen, weil es nicht aktiviert war!
$sql="delete from ".precode."files where filename='".$_POST['file']."' and filedir='".$dir."'";
mysql_query($sql);
}
elseif(isset($_POST['file']) ) {
// Hakben gesetzt
// File in Datenbank hinzufügen!
$sql = "INSERT INTO `".precode."files` (`filename`, `filedir`)
VALUES ('".$_POST['file']."', '".$dir."')";
mysql_query($sql);
}
}
}
Er meldet "Warning: readdir(): supplied argument is not a valid Directory resource in /homepages/21/d76665669/htdocs/dariodomi/projekt_ezes/test/contents/publicfiles.php on line 15".
Neben diesem Problem bin ich mit den SQL-Anweisungen total am verzweifeln. Ich nehme mal an, dass "while ($row = mysql_fetch_array($result)) {" nicht sein muss, da es jeden Dateinamen ja eh nur einmal in der DB gibt.
Zudem ist "if(!isset($row['$file2']) ...)" wahrscheinlich auch nicht das richtige für "Datei in DB vorhanden", oder?
Über Hilfe freue ich mich wirklich sehr.
Gruß, Do_0mi