getimagesize Problem

  • PHP

  • laphoenix
  • 1782 Aufrufe 13 Antworten

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

  • getimagesize Problem

    Hallo, habe eine neue Seite mit Downloads gemacht und ein php script genommen (Scene-engine.biz) . wenn ich allerdings einen dl eintrage, der ein bild bes besitzt steht ganz oben auf der seite:

    Warning: getimagesize() [function.getimagesize]: URL file-access is disabled in the server configuration in /data/www/sites/1/xxxx.com/f/l/xxx/site/download.php on line 93

    Warning: getimagesize(xxx.xxxx.com/pics/funbild.jpg) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /data/www/sites/1/xxxx.com/f/l/xxx/site/download.php on line 93


    wie oder was habe ich da zu ändern?
    ich denke mal der kann das bild nicht auf die größe 500x350 bringen wie er das soll... hier der passende auszug aus der download.php:

    Quellcode

    1. $tpl->set_var("colspan", "");
    2. $tpl->get("main", "download");
    3. $dl = $db->fetch_array($download);
    4. $tpl->set_var("title", $dl['name']);
    5. $headline = $lang->get("LANG_DOWNLOADS").' &raquo; <a href="cats.php?id='.$dl[catid].'">'.$dl[catname].'</a> &raquo; '.$dl['name'];
    6. $tpl->set_var("headline", "$headline");
    7. $tpl->set_var("download_downloadid", $dl['downloadid']);
    8. $tpl->set_var("download_name", $dl['name']);
    9. if(!empty($dl['image']))
    10. {
    11. $imagesize = getimagesize($dl['image']);
    12. if($imagesize[0] > 350 && $imagesize[1] > 500)
    13. {
    14. $neuegroesse = newsizeimage($imagesize[0], $imagesize[1]);
    15. $tpl->set_var("download_image", '<a href="'.$dl[image].'"><img src="'.$dl[image].'" style="width:'.$neuegroesse[0].'px; height:'.$neuegroesse[1].'px; vertical-align:text-top; margin-right:20px; margin-top:10px; margin-bottom:10px" border="0"></a>');
    16. }
    17. else
    18. {
    19. $tpl->set_var("download_image", '<img src="'.$dl[image].'" style="vertical-align:text-top; margin-right:20px; margin-top:10px; margin-bottom:10px" border="0">');
    20. }
    21. }
    22. $tpl->set_var("download_description", $dl['description']);
    23. $tpl->set_var("download_language", $dl['language']);
    Alles anzeigen



    danke fürs lesen schonmal und ich hoffe ih könnt mir helfen...
    gruß
  • Hi,
    der Sinn von gebi's Post ist, dass wir wissen, was hinter der Varibale dl[image] steckt. Es wird etwas ausgegeben, was dann vor der Fehlermeldung steht. Das ist interessant, das wollen wir wissen ^^

    Vermutlich ist der Bilderpfad mit "http://domain.com..." und das wird bei deinem Hoster [b]nicht[/b] unterstützt.

    Gruß
    Broken Sword[/image]
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Ja, dass es die gleiche Fehlermeldung ist, will niemand bezweifeln. ABER, wenn du den echo Befehl gesetzt hast muss (da ja $dl['image'] nicht leer ist) VOR der Fehlermeldung etwas stehen. Das ist der Bilderpfad, den sollst du hier reinkopieren ^^"

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • aha...verstanden^^

    also hier die "neue" fehlermeldung

    Quellcode

    1. /bilderordner/CIMG00093.jpg
    2. Warning: getimagesize() [function.getimagesize]: Unable to access /bilderordner/CIMG00093.jpg in /data/www/sites/1/ido.com/f/l/laphoenix/site/download.php on line 93
    3. Warning: getimagesize(/bilderordner/CIMG00093.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /data/www/sites/1/ido.com/f/l/laphoenix/site/download.php on line 93



    vlt bekommt ihr jane erkenntnis dareus...
    gruss und danke soweit
  • Oha. das ist ja eine andere Fehlermeldung.
    Hierfür musst du mal schauen, ob das Bild auch alle Rechte (CHMOD) besitzt und diese eventuel ändern. 644 dürfte hier eigentlich ausreichend sein.

    Eine undschöne Lösung wäre natürlich

    Quellcode

    1. $imagesize = getimagesize($dl['image']);

    in

    Quellcode

    1. $imagesize = @getimagesize($dl['image']);
    zu ändern, so wird die Fehlermeldung unterdrückt. aber wie gesagt, das ist eine unschöne Sache.
    Bei Scene-engine.biz scheint wohl tote Hose zu sein, ich kann leider die Version nicht unrterladen, um dir zu sagen, was du ändern musst, damit die CHMOD-Rechte automatisch gesetzt werden. (Wenn die denn ungenügend gesetzt sind)
    Wenn es an den Rechten liegt, kannst du ja mal das Script mir schicken, dann änder ich das für dich.


    ---
    Oder wir machen es ganz anders.
    [ersetze]

    Quellcode

    1. if(!empty($dl['image']))
    2. {
    3. $imagesize = getimagesize($dl['image']);
    4. if($imagesize[0] > 350 && $imagesize[1] > 500)
    5. {
    6. $neuegroesse = newsizeimage($imagesize[0], $imagesize[1]);
    7. $tpl->set_var("download_image", '<a href="'.$dl[image].'"><img src="'.$dl[image].'" style="width:'.$neuegroesse[0].'px; height:'.$neuegroesse[1].'px; vertical-align:text-top; margin-right:20px; margin-top:10px; margin-bottom:10px" border="0"></a>');
    8. }
    9. else
    10. {
    11. $tpl->set_var("download_image", '<img src="'.$dl[image].'" style="vertical-align:text-top; margin-right:20px; margin-top:10px; margin-bottom:10px" border="0">');
    12. }
    13. }
    Alles anzeigen

    mit...

    Quellcode

    1. if(!empty($dl['image'])) {
    2. $tpl->set_var("download_image", '<script type="text/javascript">
    3. // <![CDATA[
    4. // Begin image-resize script
    5. function resize(img) {
    6. var imageWidth = img.width;
    7. var imageHeight = img.height;
    8. var imageMaxWidth = 200;
    9. var imageMaxHeight = 300;
    10. if ((imageMaxWidth != 0 && imageWidth > imageMaxWidth) || (imageMaxHeight != 0 && imageHeight > imageMaxHeight)) {
    11. if (imageMaxWidth != 0) var div1 = imageMaxWidth / imageWidth;
    12. else var div1 = 1;
    13. if (imageMaxHeight != 0) var div2 = imageMaxHeight / imageHeight;
    14. else var div2 = 1;
    15. if (div1 < div2) {
    16. img.width = imageMaxWidth;
    17. img.height = Math.round(imageHeight * div1);
    18. }
    19. else {
    20. img.height = imageMaxHeight;
    21. img.width = Math.round(imageWidth * div2);
    22. }
    23. var popup = document.createElement('a');
    24. popup.setAttribute('href', img.src);
    25. popup.setAttribute('target', '_blank');
    26. popup.appendChild(img.cloneNode(true));
    27. img.parentNode.replaceChild(popup, img);
    28. }
    29. }
    30. // End image-resize script
    31. // ]]>
    32. </script><img src="'.$dl[image].'" style=" vertical-align:text-top; margin-right:20px; margin-top:10px; margin-bottom:10px" border="0" onload="resize(this);">');
    33. }
    Alles anzeigen



    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • für mich hört sich das so an als ob er die Datei nicht findet, entweder falsche Berechtigung ja oder probiers mal mit einer ablsoluten Pfadangabe. Die bekommst du in dem du zB die Server-Variable vom Document-Root ausgibst:

    PHP-Quellcode

    1. echo $_SERVER['DOCUMENT_ROOT'];
  • Hallo,
    @gebi danke für die mühe, aber ich seh ja das image immer

    @Broken Sword:

    ich weiss nicht was du gemacht hast und wie... ABER ES FUNKTIONIERT!!!
    und das auch noch 1A..VIELEN VIELEN DANK euch allen für die tolle Hilf!

    Ihr seit die besten und pros ans fs-board!


    ____________CLOSED_____________________
  • laphoenix schrieb:


    ich weiss nicht was du gemacht hast und wie... ABER ES FUNKTIONIERT!!!
    und das auch noch 1A..VIELEN VIELEN DANK euch allen für die tolle Hilf!


    Die php-passage einfach in JavaScript geschrieben.
    Da muss man auf kein Bild zugreifen, etc.

    Kein Prob, freut mich, dass es funktioniert.
    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.