Avatar für Playercard muss anders werden ...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Avatar für Playercard muss anders werden ...

    hallo leute,
    da meine playercard schon wunderbar funktioniert "soweit", wollte ich mal etwas optimieren für mich als test. und zwar wollte ich die profilbilder nicht mehr aus meinem ftp abrufen lassen sonder über die datenbank (es sind links).
    nur wenn ich es ausprobiere mit dem bild-link dann funktioniert es einfach nicht :/

    wenn ich es abschicke kommt folgende meldung
    Warning: imagepng() [function.imagepng]: Unable to open '"http://s7.directupload.net/images/121025/k9kj88hj.jpg"' for writing: No such file or directory in /data/multiserv/users/969739/projects/2217634/www/playercard1/index.php on line 71

    das mit dem link - damit hab ich ein problem. ich weis nicht wie ich es beheben kann

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von JND_3004 ()

  • der ordner braucht keine rechte. die ordner sind inordung -> die picturelinks sollen ja aus der db abgerufen werden. nur das möchte nicht wirklich funktionieren, und ich weis nicht wie ich es machen soll :S

    ! Sind nur ausschnitte

    aus dem card_generator.php

    Quellcode

    1. // Avatar Bild des Users laden
    2. $user_avatar = $data['avatar'];
    3. if( !file_exists($user_avatar) ){
    4. $user_avatar = $image_dir . 'anonymous.png';
    5. }
    6. $image_avatar = @imagecreatefrompng($user_avatar);


    aus der index.php

    Quellcode

    1. $data['last_created'] = include('db.php');
    2. // Pfad des Bildes im Ausgabeordner
    3. $image_path = '<img src="'.$data['avatar'].'" />';
    4. //
    5. // Überprüfen ob Playercard bereits existiert und noch gültig ist
    6. //
    7. if( (int)$data['last_created'] + $lifetime <= time() || !file_exists($image_path)){
    8. // Playercard neu generieren
    9. $image = generatePlayerCard($data, 'calibrib', $user_avatar_dir, $image_dir, $font_dir, $print_time);
    10. // Generiertes Bild im Output Ordner speichern
    11. imagepng($image, $image_path);
    12. // Aktuelle Uhrzeit wieder in die DB schreiben, wenn Playercard generiert wurde
    13. // !!! Hier wird nur in eine Datei geschrieben !!!
    14. $data = '<?php return '. time() . ';';
    15. file_put_contents( 'db.php', $data );
    16. } else {
    17. // Playercard existiert und ist gültig.
    18. // Somit die gespeicherte Playercard ausgeben.
    19. $image = @imagecreatefrompng($image_path);
    20. if( !$image ){
    21. // Wenn kein Bild gefunden, leeres erzeugen (alternativ Playercard neu genieren)
    22. $image = generateErrorImage("Bild konnte nicht geladen werden.");
    23. }
    24. }
    25. } else {
    26. // User existiert nicht
    27. $image = generateErrorImage('Der User "'.$_GET['user'].'" existiert nicht.');
    28. }
    29. } else {
    30. // Wenn Kein User angefragt wurde, Fehlermeldung ausgeben
    31. $image = generateErrorImage("Es wurde kein User angegeben.");
    32. //$image_path = $image_output_dir . 'error_no_user.png';
    33. //$image = @imagecreatefrompng($image_path);
    34. }
    35. //
    36. // Ausgabe direkt als PNG
    37. //
    38. // Content-Type (mime type) im Http Header setzen
    39. header('Content-Type: image/png');
    40. // Bild an client senden
    41. imagepng($image);
    42. // Bild aus dem Speicher löschen
    43. imagedestroy($image);
    Alles anzeigen
  • Die Fehlermeldung sagt dir doch schon, wo der Fehler ist:

    Quellcode

    1. Warning: imagepng() [function.imagepng]: Unable to open '"http://s7.directupload.net/images/121025/k9kj88hj.jpg"' for writing: No such file or directory in /data/multiserv/users/969739/projects/2217634/www/playercard1/index.php on line 71


    Du versucht die Funktion imagepng auf die Datei s7.directupload.net/images/121025/k9kj88hj.jpg anzuwenden. Kann nicht klappen, da du dich auf einem anderen Server befindest. Du könntest aber die Datei von s7.directupload.net/images/121025/k9kj88hj.jpg holen, lokal abspeichern und dann bearbeiten.
    =O