kostenloser Webspace werbefrei: lima-city


Datei von Webserver kopieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ttobsen

    Kostenloser Webspace von ttobsen

    ttobsen hat kostenlosen Webspace.

    Hi Leute

    Ich hab da mal ne kleine Frage.

    Also daheim habe ich nenn Apache offen. Nun biete ich da ein Image zum Download an. Ist es mit PHP nun irgendwie m?glich auf das Bild zuzugreifen und zu speichern auf dem Webspace, der das PHP Script ausf?hrt.

    Kleine Schema

    Server 1 ----> Anfrage ----> Server 2

    Wenn Anfrage erfolgreich dann

    Server 1 -----> lade bild.jpg ----> Server 2

    Mal schauen ob das ?berhaupt geht :)

    Gru? Tobi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du willst also einfach ein Bild von einem anderen Server laden?
    Das m?sste mit der Funktion "file_get_contents ()" gehen.
    Einfach
    $img_data = file_get_contents ( 'http://irgendwo.imnirgendwo.de/bild.jpg' );
    Dann musst du nur noch $img_data in eine Datei schreibe und diese unter xy.jpg abspeichern.
    Sollte das nicht funktionieren, dann meld dich nochmal. ;-)
    Es k?nnte auch ?ber die GD Funktionen von PHP funktionieren, aber das w?re dann ein wenig umfangreicher(knapp 10 Zeilen mehr ;-)).

    MfG Lucas
  4. Autor dieses Themas

    ttobsen

    Kostenloser Webspace von ttobsen

    ttobsen hat kostenlosen Webspace.

    Ich wusste es genau das die erste Antwort von dir kommt ;)

    Also ich als PHP Noob mu? jetzt Fragen:

    Wie schreib ich dann diesen String in eine Datei? Laut dem PHP Handbuch les ich da das diese Funktion (also file_get_contents) mir einen String zur?ckgibt.

    Und URLs k?nnen nur verwendet werden wenn "fopen wrappers" erm?glicht sind. Das ist bei Lima-City allerdings nicht der Fall, weshalb man auch keine fremden PHP Scripts includen kann.

    Ich hoffe das stimmt was ich da sag.

    Gru? Tobi
  5. <?php
    $img_data = file_get_contents ( 'http://lucas9991.milten.lima-city.de/cycase/img/error.jpg' );
    header ( 'Content-type:image/jpeg' );
    echo $img_data;
    file_put_contents ( 'error.jpg', $img_data );
    ?>

    Das haut bei mir aufm localhost hin.
    Es muss aber PHP 5 sein (glaube ich ^^).
    Ich poste gleich mal ne M?glichkeit f?r PHP4. ;-)

    MfG Lucas
  6. Autor dieses Themas

    ttobsen

    Kostenloser Webspace von ttobsen

    ttobsen hat kostenlosen Webspace.

    Ok das funzt leider nicht.

    Fehelrmeldung:

    Fatal error: Call to undefined function: file_put_contents() in /srv/www/htdocs/web760/html/forum/includes/function_bbmath.php on line 17

    Lass dir was neues einfallen ;)

    Gru? Tobi
  7. if ( !function_exists ( 'file_put_contents' ) ) {
    function file_put_contents($filename, $content, $flags = null, $resource_context = null)
    {
        if (is_array($content)) {
            $content = implode('', $content);
        }
        if (!is_scalar($content)) {
            user_error('file_put_contents() The 2nd parameter should be either a string or an array',
                E_USER_WARNING);
            return false;
        }
        $length = strlen($content);
        $mode = ($flags & FILE_APPEND) ? 'a' : 'w';
        $use_inc_path = ($flags & FILE_USE_INCLUDE_PATH) ? true : false;
        if (($fh = @fopen($filename, $mode, $use_inc_path)) === false) {
            user_error('file_put_contents() failed to open stream: Permission denied',
                E_USER_WARNING);
            return false;
        }
        $bytes = 0;
        if (($bytes = @fwrite($fh, $content)) === false) {
            $errormsg = sprintf('file_put_contents() Failed to write %d bytes to %s',
                            $length,
                            $filename);
            user_error($errormsg, E_USER_WARNING);
            return false;
        }
        @fclose($fh);
        if ($bytes != $length) {
            $errormsg = sprintf('file_put_contents() Only %d of %d bytes written, possibly out of free disk space.',
                            $bytes,
                            $length);
            user_error($errormsg, E_USER_WARNING);
            return false;
        }
        return $bytes;
    }
    }
    // obrige Funktion kann ggf. rausgenommen werden, wenn PHP5 installiert ist
    // die Funktion ist von Christian Wenz
    
    $img_data = file_get_contents ( 'http://lucas9991.milten.lima-city.de/cycase/img/error.jpg' );
    file_put_contents ( 'error.jpg', $img_data );



    MfG Lucas

    Beitrag ge?ndert am 5.12.2005 21:31 von lucas9991

    Beitrag ge?ndert am 5.12.2005 21:40 von lucas9991
  8. Autor dieses Themas

    ttobsen

    Kostenloser Webspace von ttobsen

    ttobsen hat kostenlosen Webspace.

    Hi

    Hab das PRoblem jetzt mit der eifnachen kleinen Funktion copy() gel?st :)

    Aber trotzdem vielen Dank lucas!

    Gru? Tobi
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!