[PHP] Probleme mit "ftp_delete"

mh1001

Lt. Commander
Dabei seit
Nov. 2003
Beiträge
2.039
Hallo zusammen,

Wo ich gerade dabei bin ein CMS zu schreiben, bin ich nun auf die Funktion ftp_delete() gestoßen. Jedoch bereitet diese einige Probleme. Hier zuerst einmal der Code:

PHP:
<?php
include("../../daten/#funktionen.php");
include("../../daten/#konfiguration.php");
include("../../daten/#ftp_verbindung.php");

$link = zahlcheck($HTTP_GET_VARS["link"]);

$linkcheck = !empty($link);

$verzeichnis = ftpverzeichnis.linkpfad;

if($linkcheck)
{
  $abfrage = mysql_query("SELECT banner FROM rbg_links WHERE id = '$link'");
  $ds = mysql_fetch_array($abfrage);

  $banner = $ds["$banner"];

  ftp_chdir($ftpverbindung, $verzeichnis);

  $bannerloeschen = ftp_delete($ftpverbindung, $banner);

  $loeschen = mysql_query("DELETE FROM rbg_links WHERE id = '$link'");
}

ftp_quit($ftpverbindung);
?>
In der Datei #konfiguration.php werden lediglich eine Verbindung zur Datenbank hergestellt und die Konstanten "ftpverzeichnis" und "linkpfad" definiert. Die Funktion "zahlcheck()" prüft ob die Variable eine Zahl ist und liefert in diesem Fall diese auch wieder zurück. Und hier noch der Inhalt der #ftp_verbindung.php, wobei diese auch eigentlich tadellos funktioniert:

PHP:
<?php
$ftpserver = "XYZ"; // FTP-Server
$ftpbenutzer = "XYZ"; // Benutzername
$ftppasswort = "XYZ"; // Passwort

$ftpverbindung = ftp_connect($ftpserver);
if(!$ftpverbindung) { die("Verbinden zum FTP-Server gescheitert."); }
$ftplogin = ftp_login($ftpverbindung, $ftpbenutzer, $ftppasswort);
if(!$ftplogin) { die("Login beim FTP-Server gescheitert."); }
?>
Nun zum Problem: Beim Aufruf des Scripts wird zwar der Datensatz aus der Datenbank gelöscht, die Datei bleibt aber erhalten und PHP liefert folgende Fehlermeldung:
Code:
Warning:  ftp_delete() [[url="http://www.razorbg.de/administration/links/function.ftp-delete"]function.ftp-delete[/url] on line ]: Invalid number of arguments. in /is/htdocs/wp1009845_NW0WCH585C/razorbg/administration/links/link_loeschen_index.php on line 21
Doch was mache ich falsch? :confused_alt:
Ich hoffe ich bin nicht blind vor lauter PHP und habe nicht nur eine Kleinigkeit übersehen. ;)

MfG mh1001
 
Zuletzt bearbeitet:

bbforce

Ensign
Dabei seit
Sep. 2003
Beiträge
216
Hi,

ich nehme mal an das dein Fehler in dieser Zeile steckt:

PHP:
$banner = $ds["$banner"];

So wie ich das versteh soll ja die Datei gelöscht werden deren kompletter Pfad aus der DB geholt wird mit deiner Abfrage, und der Index des Resultat Arrays an der Stelle banner wird mit $ds[banner] und nicht $ds["$banner"] selektiert.

Also muss $banner meiner Meinung nach wie folgt belegt werden:

PHP:
$banner = $ds[banner];

Gruß bbforce
 

mh1001

Lt. Commander
Ersteller dieses Themas
Dabei seit
Nov. 2003
Beiträge
2.039
@bbforce

Ich hoffe ich bin nicht blind vor lauter PHP und habe nicht nur eine Kleinigkeit übersehen. ;)
Also hat sich meine Befürchtung wohl doch bestätigt. ;)

Auf jeden Fall einen herzlichen Dank an dich, genau dies war die Ursache des Problems. :daumen:
Nun scheint alles bestens zu funktionieren. ;)

MfG mh1001
 

bbforce

Ensign
Dabei seit
Sep. 2003
Beiträge
216
Mir geht es auch oft so :D

Also dann viel Spass beim proggen noch...

Gruß bbforce
 
Top