ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
449
449
EMPFEHLEN
-
Hallo,
ich habe eine Tabelle, wo in einer Spalte alle URLs zu Downloads sind, die sich aber auf einem anderen Server befinden, der aber auch mir gehört. Ich möchte gerne, diese Werte auslesen (schon geschen), eine FTP Verbindung aufbauen (schon geschehen) und alle Dateien auf dem Server, die keinen Eintrag in der Datenbank haben, sollen entfernt werden. Ich habe hier nocheinmal ein Bild für euch um das etwas zu verdeutlichen!
http://fortunafan.com/tut.jpg
Mein bisheriger Code:
Wie mache ich am besten weiter?PHP-Code:<div align="center">
<?
require("xx.php");
$dbverbindung = mysql_connect($server, $user, $password);
$dbanfrage = "SELECT * from cm_dl_info ORDER BY id";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
while ($ausgabe = mysql_fetch_array ($result)){
?>
-> <b><? echo $ausgabe[link]; ?></b><br>
<? $ftp_server = "bumbum.org";
$ftp_user_name = "fx";
$ftp_user_pass = "x";
$destination_file = "$filename.torrent";
$source_file = "$filename.torrent";
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect("$ftp_server");
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
echo "FTP Verbindung nicht hergestellt!<br>";
echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich<br>";
die;
} else {
ftp_pasv ( $conn_id, true );
echo "Passiv-Modus eingeschaltet...<br>";
echo "FTP Verbindung hergestellt...<br>";
}
// Datei löschen
unlink("$filename.torrent");
// Schließen des FTP-Streams
ftp_quit($conn_id);
}
?>
Weiß nicht was ich jetzt wo machen soll...
Bin gerade leicht überfordert, hoffe Ihr könnt mir helfen!
-
liegen die Dateien auf dem Server alle in einem Ordner?
-
Ja sie befinden sich alle im gleichen Ordner.
Das macht die sache gleich unkomplizierter hoffe ich...
-
Hallo PHP-Fan,
wie wäre es mit:
PHP-Code:if (!file_exists($ausgabe["link"])){
// Dateieintrag in der Datenbank löschen
mysql_query("DELETE FROM tabelle WHERE linkname= '".$ausgabe["link"]."'", $verbindung);
}
//Edit
Dieses Beispiel dient dazu alte Links in
der Datenbank zu löschen falls diese keine
entsprechenden Dateien auf dem Server haben.
mfg,
blountGeändert von blount (21.09.06 um 00:36 Uhr)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
Was bitte? Das wäre es schon?
-
Vielen Dank schon einmal für eure Hilfe...
Neues Problem:
Derzeiter Code:
Nur jetzt habe Ich ein Problem.PHP-Code:<div align="center">
<?
require("xx.php");
$dbverbindung = mysql_connect($server, $user, $password);
$dbanfrage = "SELECT * from cm_dl_info ORDER BY id";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
while ($ausgabe = mysql_fetch_array ($result)){
?>
-> <b><? echo $ausgabe[link]; ?></b><br>
<? $ftp_server = "bumbum.org";
$ftp_user_name = "fx";
$ftp_user_pass = "x";
$destination_file = "$filename.torrent";
$source_file = "$filename.torrent";
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect("$ftp_server");
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
echo "FTP Verbindung nicht hergestellt!<br>";
echo "Verbindung mit $ftp_server als Benutzer $ftp_user_name nicht möglich<br>";
die;
} else {
ftp_pasv ( $conn_id, true );
echo "Passiv-Modus eingeschaltet...<br>";
echo "FTP Verbindung hergestellt...<br>";
}
if (!file_exists($ausgabe["link"])){
// Datei löschen
unlink("$ausgabe['link']");
echo "<font color='green'>$ausgabe['link'] entfernt</font><br>";
}else{
echo "<font color='red'>$ausgabe['link'] nicht entfernt</font><br>";
}
// Schließen des FTP-Streams
ftp_quit($conn_id);
}
?>
Die Downloads sind in der Tabelle aber nicht mit "wasser.rar" bezeichnet sondern da steht auch noch eine URL vor. Als Beispiel: http://www.hulubulu.de/wasser.rar
Diese URL muss ich aber doich entfernen sonst findet er ja keinen passenden Eintrag oder?
-
21.09.06 00:15 #7
Wieso probierst du es nicht einfach aus ? Sowas verstehe ich nicht !
Die Funktion basename() wird dir helfen. Aber bitte probiere das auch aus anstatt zu fragen, und dann anhand eines Problems die frage zu stellen.Visit shadowmasta
-
21.09.06 00:16 #8
Hmm Sorry der Server is so lahm und ich habe vergessen das ich schon gedrückt habe ..
--->delete
Visit shadowmasta
-
Du musst allerdings den umgekehrten Weg
gehen. Du musst den Inhalt des ftp's auslesen
und mit der Datenbank vergleichen. Wenn der
Eintrag nicht in der Datenbank vorhanden ist
wird die Datei gelöscht.
Ich kann nicht überprüfen ob das Beispiel
hundert prozentig funktioniert aber es sollte die
Vorgehensweise klar machen.
PHP-Code:$hdl = opendir ("./verzeichnis/");
while ($res = readdir ($hdl)){
$datenbank[]=$res;
}
closedir($hdl);
foreach ($datenbank as $var){
// DATENBANKVERBINDUNG HERSTELLEN
$sql="SELECT * FROM tabelle WHERE linkname= '".$var."'";
$ergebnis=mysql_query($sql, $verbindung);
if (mysql_num_rows($ergebnis)<1){
unlink($var);
}
}
mfg,
blountGeändert von blount (21.09.06 um 00:58 Uhr)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
Ich habe jetzt dieses Script:
Die Daten werden auch ausgegeben, wie kann ich das jetzt so machen dass er das mit der DB Vergleicht?PHP-Code:<?php
$FTPServer = "";
$FTPUser = "";
$FTPPasswort = "";
$Verzeichnis = ".";
$VerbindungsID = ftp_connect($FTPServer);
$LoginErgebnis = ftp_login($VerbindungsID, $FTPUser, $FTPPasswort);
if($VerbindungsID && $LoginErgebnis)
{
$Dateiliste=ftp_nlist($VerbindungsID, $Verzeichnis);
sort($Dateiliste);
echo"<table border=\"0\">",
"<tr>",
"<td><b>Name</b></td>",
"<td><b>Größe</b></td>",
"<td><b>Letzte Änderung</b></td>",
"</tr>";
for($i=0; $i<count($Dateiliste); $i++)
{
$Dateigroesse=ftp_size($VerbindungsID, $Dateiliste[$i]);
echo"<tr>";
if($Dateigroesse=="-1")
{
$Ordner++;
echo"<td colspan=\"3\"><font color=\"red\">",
$Dateiliste[$i],
"</font></td>";
}
else
{
$Dateien++;
$Verzeichnisgroesse+=$Dateigroesse;
echo"<td>",
$Dateiliste[$i],
"</td>",
"<td align=\"right\">",
number_format($Dateigroesse, 0, ",", "."),
" Bytes</td>",
"<td>",
date("d.m.Y H:i", ftp_mdtm($VerbindungsID, $Dateiliste[$i])),
"</td>";
}
echo"</tr>";
}
echo"<tr>",
"<td>",
$Ordner,
" Ordner, ",
$Dateien,
" Dateien</td>",
"<td align=\"right\">",
number_format($Verzeichnisgroesse, 0, ",", "."),
" Bytes</td>",
"<td> </td>",
"</tr>";
echo"</table>";
}
else
{
echo"Es konnte keine Verbindung mit dem FTP-Server hergestellt werden.";
}
?>
Ähnliche Themen
-
Alle Dateien von einem Server auf einen Anderen überspielen?
Von Back2toxic im Forum Linux & UnixAntworten: 5Letzter Beitrag: 13.03.08, 09:56 -
Dateien auf anderen Server spiegeln - LFTP
Von deostift im Forum Linux & UnixAntworten: 1Letzter Beitrag: 13.06.07, 13:12 -
Dateien vom Server löschen
Von Grunge im Forum PHPAntworten: 3Letzter Beitrag: 14.03.06, 02:31 -
Dateien von einem Server zum anderen...
Von ThiGGeR im Forum Hosting & WebserverAntworten: 12Letzter Beitrag: 02.11.03, 04:48 -
Löschen von Dateien eines anderen Users
Von Berno im Forum Linux & UnixAntworten: 1Letzter Beitrag: 23.07.03, 14:35





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren