Bilder per URL Hochladen

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Hi,
    ich möchte gerne mit einem Skript Bilder per URL hochladen, also so wie im phpBB3.
    Dort gibt man den Link ein, und das läd dann das Bild auf den Server und bindet den als Avatar ein.


    Wie geht den sowas? Google hat mich nicht weiter gebracht ?(

  • Je nach der Server-Config kann das mehr oder weniger kompliziert werden.
    Wenn allow_url_fopen aktiviert ist, kannst du mit der PHP-Funktionen einfach die Datei wie eine lokale auf dem Webserver liegende Datei behandeln. Also mit fopen() öffnen und als Pfad eben die URL übergeben.
    Ist allow_url_fopen deaktiviert, musst du ne eigene Funktion schreiben, die die Datei mit einem HTTP Request und per fsockopen anfordert. Ist beides deaktiviert, was bei freehostern häufig der Fall ist, geht das meines wissens nach nicht.

  • Sry für Doppelpost.
    Wie ich schon befürchtet hab, geht das Skript nicht^^
    Hier hab ich das mal:


    Das Skript läuft auf XAMPP und es will style.css von meinem Webspace herholen.
    Folgende Fehlermeldungen:
    Warning: filesize() [function.filesize]: stat failed for http://arkanisterndu.ilohost.com/pokemon/style.css in C:\xampp\htdocs\acp\info.php on line 5


    Warning: fread() [function.fread]: Length parameter must be greater than 0 in C:\xampp\htdocs\acp\info.php on line 6


    was kann ich tun?

  • Auf Remote-Files kann man leider nicht die ganzen Fileinfo-Functionen anwenden. Hier musst du mit ner Schleife und feof() arbeiten:


    Getestet und funktioniert einwandfrei. Nur das Errorhandling fehlt halt noch.


    P.S.: Für so eine Aufgabe bietet sich das Schreiben einer passenden Klasse an.

  • Bestes Tutorial ever dafür: http://peterkropff.de/site/php/oop.htm

    Cool, danke!
    Ich hab schon wieder ein neues Problem^^
    Also das hier:

    PHP
    <?php/** * @author kiro * @copyright 2009 */require('db.php');$meth  = $_POST[meth];$error = "";$name = $_POST[name];$level = $_POST[level];$attacke = $_POST[attacke];$von = $_POST[von];$zu = $_POST[zu];;if($meth == "datei"){		$target_path = "uploads/";		$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 		if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {			$bild = basename( $_FILES['uploadedfile']['name']);			$sql = "INSERT INTO digimon.digimon_liste(ID, Name, Level, digitiert_zu, digitiert_von, Attacke, Bild) VALUES(NULL, '$name', '$level', '$von', '$zu', '$attacke', '$bild')";			$query = mysql_query($sql);			if(!$query)			{				$error .= "Es unterlief ein Fehler!: " . mysql_error() . "<br>";			}			}			else			{				$error .= "Beim hochladen trat ein Fehler auf!!<br>";			}}echo $error;?>


    Also ich bekomm diese Fehlermeldung:
    INSERT command denied to user ''@'localhost' for table 'digimon_liste'


    und die db.php sieht so aus:


    Ich check nicht warum das nicht geht ;(

  • Ne ich meinte nicht das, sonder das


    sry, ich bin heute anscheinend etwas verwirrt, und drücke mich ein wenig unklar aus :S