Datei von Server auf Server laden

woni

Mitglied
Ich will eine Datei von einem anderen Server auf meinem Server laden, es sind beides Windows-Server.

Jetzt habe ich die Datei mit

$down = fopen('http://LinkzurDatei.zip')
$file = fopen('Datei.zip','w')

geöffnet, und versuche die mit einer while schleife

while($zeile=fread($down,1000))
{
$file.=$zeile;
}

fwrite($data, $file);

aber meine $file hat immer noch 0 KB, was ist daran falsch?
 
Da gibt es mehrere Moeglichkeiten.
Zum einen die kleine, lustige Option allow_url_fopen (oder so aehnlich) in der php.ini
Zum anderen koennte es sein, dass es daran liegt, dass Du fclose() vergessen hast.
 
fclose hab ich schon, hab ich aber nicht dazugeschrieben und allow_url_fopen ist auch auf ON
 
Zuletzt bearbeitet:
Ach so.
Kann man ja nicht wissen. :)
Gibt's denn eine Fehlermeldung?

Kann es sein, dass beim fopen() fuer $down das ,"r" fehlt?
 
probiere mal das

PHP:
$src = file_get_contents ('http://bla.zip');
$file_s=fopen("file.zip",'w');
if(fwrite($file_s,$src)){
echo "geladen";	
}
fclose($file_s);
 
Also bei mir kommt keine Fehlermeldung gar nichts. Es kommt sogar die Ausgabe, dass das Bild geladen wäre. Allerdings wird das Bild nicht in den entsprechenden Ordner bzw. gar nicht geladen.

PHP:
$url=explode("/", $_POST["avatar_url"]);
		$last=$url[count($url)-1];
				
		$dimension=getimagesize($_POST["avatar_url"]);
		
		echo $dimension[2];
				
		if($dimension[2] != 1 && $dimension[2] != 2  && $dimension[2] != 3) 
		{
			$err[] = "Nur gif, png und jpeg Dateien dürfen hochgeladen werden.";
		}
		if($dimension[1] > "100") 
		{
			$err[]= "Das Bild ist zu hoch. Es ist nur eine maximale Höhe vonn 100 Pixeln erlaubt.";
		}
		if($dimension[0] > "100") 
		{
			$err[]= "Das Bild ist zu breit. Es ist nur eine maximale Breite vonn 100 Pixeln erlaubt.";
		}
		
		if (empty($err))
		{	
			$src = file_get_contents($_POST["avatar_url"]);
			$file_s=fopen("../images/avatars/upload/".$last,'w');
			if(fwrite($file_s,$src))
			{
				echo "geladen";    
			}
			else
			{
				echo "nicht geladen";
			}
			fclose($file_s);

So sieht mein Script aus. Allerdings kann ich mir nicht erklären, warum das Bild nicht geladen wird und in den entsprechenden Ordner kommt.

Kann mir jemand helfen?
 
Wenn ich statt der Funktionen um fwrite folgendes nutze:

PHP:
			$file_s="../images/avatars/upload/".$last;
			if(copy($_POST["avatar_url"], $file_s))
			{
				echo "geladen";    
			}
			else
			{
				echo "nicht geladen";
			}

funktioniert es leider auch nicht. An den Rechten der Ordner kann es aber auch nicht liegen, da die 777 haben.

Bräuchte wirklich mal Hilfe.
 
Zurück