fopen zu FTP

GalaxyWarrior

Erfahrenes Mitglied
PHP FTP Funktionen

Hi, ich habe einen Daten Editor proggrammiert, und brauche dazu eine FTP verbindung
Dies habe ich so versucht:
PHP:
106: $fd = fopen('ftp://'.$_SESSION[Name].':'.$_SESSION[Clear].'@80.190.246.207/'.$datei.'','w');

$_SESSION[Name] ist der Username
$_SESSION[Clear] ist das Passwort


Doch ich bekomme immer die Meldung

Warning: fopen(ftp://...@80.190.246.207/index.php): failed to open stream: FTP server reports 213 185 in /srv/www/htdocs/edit.php on line 106

Weiß einer was die bedeutet und was ich dagegen amchen kann?
Gruß GalaxyWarrior
 
Zuletzt bearbeitet:
Ich habe eine Verbindung erfolgreich erstellt, aber jetzt habe ich ein problem mit der Zeile

PHP:
$upload = ftp_put($conn_id, restore/index.php, index.php, FTP_BINARY);

So funktioniert die auf jeden fall nicht. ^^
Was ich will ist, das eine Datei, die schon auf dem server ist mit neuem Inhalt wieder gespeichert wird, und ich glaube sowieso das das damit nicht geht.

Gruß GalaxyWarrior
 
Aber damit kann ich keinen Text der über Post kommt in die Datei schreiben, bzw die Datei mit dem neuen Text ersetzen oder?

Edit:
Habs hinbekommen. Habe die Datei als temporäre Datei mit Usernamen und Timestamp in ein temp Verzewichniss geschrieben und dann diese DAtei per FTP ins Verzeichnis reingetan.
 
Zuletzt bearbeitet:
Hab noch ne Frage, wenn ich die Datei mit FTP hochlade ( also mit dem ftp script auf der Page ) dann fügt der überall \ ein und man kann die datei nicht mher benutzen, es kommt dann

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /srv/www/htdocs/edit.php on line 95

Parse error: parse error in /srv/www/htdocs/edit.php on line 158

egal ob ich
PHP:
$upload = ftp_put($conn_id, $noweb, $files, FTP_BINARY);
oder
PHP:
$upload = ftp_put($conn_id, $noweb, $files, FTP_ASCII);
benutze

Hat jemand Rat?
 
Ich bin mal so frei den relevanten Teil Deines Scripts hier zu posten:
PHP:
 <?
	if($save == "1"){
	$path_parts1 = pathinfo(fileurl);
	$path_parts = $path_parts1["dirname"];
	echo $path_parts;
	$files="temp/".$_SESSION[Name]."temp".time().".txt";
	
		$fd = fopen($files,'w');
		fwrite($fd,$_POST[show]); 
		fclose ($fd);
		// Herstellen der Basis-Verbindung
			$conn_id = ftp_connect("80.190.246.207"); 
			
			// Einloggen mit Benutzername und Kennwort
			$login_result = ftp_login($conn_id, $_SESSION[Name], $_SESSION[Clear]); 
			
			// Verbindung überprüfen
			if ((!$conn_id) || (!$login_result)) { 
					echo "Ftp-Verbindung nicht hergestellt!";
					echo "Verbindung mit 80.190.246.207 als Benutzer $_SESSION[Name] nicht möglich"; 
					die; 
				} else {
					
				}
			
			// Upload der Datei
			
			$noweb = preg_replace("/web\d+\/(.*)/i","$1",$fileurl);
			$upload = ftp_put($conn_id, $noweb, $files, FTP_ASCII); 
			
			// Upload-Status überprüfen
			if (!$upload) { 
					
				} else {
					echo "Datei $source_file auf den Server geschrieben geschrieben";
				}
			
			// Schließen des FTP-Streams
			ftp_quit($conn_id); 
	} 
		
$files=$fileurl;

	read_file($files);
	
	function read_file ($files)
	{
	   $fd = fopen($files,"r"); 
	   while (!feof($fd)) {
		  $zeile = fgets($fd,1000);
		  $inhalt = fread ($fd, filesize ($files));
		  
?>
	<form name="form1" method="post" action="<? echo 'edit.php?sid='.session_id().'&fileurl='.$files.'&save=1' ?>">
		<textarea style="overflow:scroll; " name="show" cols="80" rows="30"><? echo $inhalt; ?></textarea>
		<br><input name="submit" type="submit" value="Speichern">
	</form>
<?
	}
	   fclose ($fd);
	}
?>

Ich frag mich ein wenig was denn $1 sein mag.
Auch bin nicht ganz sicher ob Dein RegEx wirklich so ist wie Du ihn haben willst, aber das kann ich natuerlich nur schwer sagen.
Auf jeden Fall sieht der RegEx im KRegExpEditor etwas komisch aus.
 
Zurück