Seite 1 von 1

Löschen von Datei klappt nicht : unlink

Verfasst: 28.05.2008 11:49
von Slup
HiHo,

Unzwar hat unsere Firma nen kleines board für Kunden Anfragen ect!
Uns fehlte eine Funktion die ich nun einbauen soll! Soweit klappt alles, Kunde läd im Profil seine txt hoch und ist für Admins und Mods sichtbar!

Wenn wir sie aller ding im ACP löschen wollen, klappt es nur zum Teil!
Der Eintrag wird aus der DB gelöscht aber die txt nicht vom Server!

Hier mal der besagte code

Code: Alles auswählen

if( isset($HTTP_POST_VARS['submit']) ) {
		 $poster_id = (empty($HTTP_POST_VARS['user_id'])) ? $poster_id = $HTTP_GET_VARS['user_id'] : $HTTP_POST_VARS['user_id'];
		 
         $sql = "DELETE
			FROM " . USER_TXT . "
		WHERE poster_id = '$poster_id'";
          @unlink(TXT_UPLOAD_PATH . $row['poster_id'].".txt");
          if( !$db->sql_query($sql) ) {
              message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql);
          }
		   
      }
TXT_UPLOAD_PATH ist in der constants.php definiert

Code: Alles auswählen

define('TXT_UPLOAD_PATH', 'daten/');
Ich weiss nicht wo der Fehler ist und hoffe ihr könnt mir helfen

Verfasst: 28.05.2008 15:34
von Mavo460
Moin,

es kann daran liegen weil vom ACP aus ein anderer Ordnerpfad greift und dann versucht wird aus dem Pfad "board/admin/daten" der inhalt zu löschen. Da es dort den Ordner nicht gibt bekommst die Fehlermeldung.

Verfasst: 28.05.2008 15:43
von Slup
HiHo,

Ne das war es nicht!

Verfasst: 29.05.2008 06:20
von StarWolf3000
1. Da es sich hier um eine benutzerdefinierte Modifikation des Quellcodes von phpBB handelt, gehört das in "Coding & Technik".

2. Möglicherweise ist das Problem, dass Benutzerrechte für den Ordner /daten fehlen.

da hier

Code: Alles auswählen

@unlink(TXT_UPLOAD_PATH . $row['poster_id'].".txt");
das @ davor steht, wird weder ein Fehler noch eine Warnung ausgegeben, falls die Aktion nicht durchführbar ist.

In diesem Fall mal das @ entfernen und die ganze Prozedur ausführen lassen. Falls ein Fehler mit "Permission denied" auftritt, müssen die Rechte des Ordners /daten angepasst werden (CHMOD 0755 sollte reichen).