Ankündigung

Einklappen
Keine Ankündigung bisher.

Bild upload

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bild upload

    Hallo ich bin von Funpic.de auf revido.de umgezigen und habe nun ein Problem mit meinem Bildupload. Bei Funpic hat alles wunderbar geklappt aber bei revido.de klappt es leider nicht mehr und es kommt folgende Fehlermeldung:

    Warning: move_uploaded_file(./Bilder/profil//profil_2.jpg): failed to open stream: Permission denied in /srv/www/htdocs/web58/html/bild_upload.php on line 160

    Warning: move_uploaded_file(): Unable to move '/srv/www/htdocs/web58/phptmp/phpv4vL9G' to './Bilder/profil//profil_2.jpg' in /srv/www/htdocs/web58/html/bild_upload.php on line 160

    Die einzigen Untereschiede von revido sind meines Wissens dass Safe Mode und Global Register off sind. Aber das dürfte ja egal sein. Und der Pfad ist anders, aber da ich einen relativen Pfad benutze sollte das auch kein Problem sein oder?


    Also hier mal der Quellcode:

    PHP-Code:
    <form name="FORMULAR" action="bild_upload.php?upload=ja&klickreich=$sessionid" method="post" target="_self" enctype="multipart/form-data"> 


    [b]Bild Upload[/b]



    <input type="file" name="bild" size="20" class="inputs"> 
    <input type="submit" value="hochladen" class="inputs2"> 


    Es dürfen nur Bild-Dateien (jpg/bmp/gif) unter 1 MB hochgeladen werden</p>

    <? 
    if(isset($_FILES['bild'])) 

    $verzeichnis="Bilder/profil/";            //Verzeichnis für Bilder
    $bildname=$_FILES['bild']['name'];        //Alter Bildname
    $bildsize=$_FILES['bild']['size'];        //Bildgrösse
    $dateiendung = explode(".", $bildname);        //Endung herausfinden
    $newname = "profil_$userid.$dateiendung[1]";    //Neuer Name bestehend aus Userid, Zeit und Dateiendung

    if($dateiendung[1] == "jpg" OR $dateiendung[1] == "bmp" OR $dateiendung[1] == "gif"
    OR $dateiendung[1] == "JPG" OR $dateiendung[1] == "BMP" OR $dateiendung[1] == "GIF")
    {

    if($bildsize > 1000000)
    {
    echo"

    Leider überschreitet die Bildgröße von $bildsize, die maximal erlaubte Größe von 1 MB (1 000 000 Bytes)</p>";
    }
    else
    {

    move_uploaded_file($_FILES['bild']['tmp_name'], "./$verzeichnis$newname");         //File verschieben

    //Höhe und Breite ermitteln 
    list($width, $height) = getimagesize("./$verzeichnis$newname");

    if($width > 120 OR $height > 180)
    {
    $i=0;
    $ratio=$width/$height;
    $oldw=$width;
    $oldh=$height;
    while($width>120 OR $height >180 OR $i=="100")
    {
    $i++;
    $width=$width*0.95;
    $height=$height*0.95;
    } //while

    $width=round($width);
    $height=round($height);

    if($i=="50")
    {
    echo"

    Bild konnte nicht verkleinert werden...bitte reduziere die Höhe und Breite auf unter 150px manuell!</p>";
    } //if i=50
    else
    {
    $im = ImageCreateFromJPEG("./$verzeichnis/$newname");
    $im2 = ImageCreateTrueColor($width,$height); 
    imagecopyresized($im2 , $im, 0, 0, 0, 0, $width, $height, $oldw, $oldh);
    ImageJpeg($im2, "./$verzeichnis/$newname", 100);
    } //else i=50
    } //if width>120

      
        //Ausgabe
       echo"

    Die Datei $bildname wurde erfolgreich gespeichert.

    $bildwidth
        <img src=\"$verzeichnis/$newname\" border=\"0\" alt=\"$bildname\">
        </p>";                             
        //Ausgabe Ende

    $update=mysql_query("UPDATE members set bild='$verzeichnis/$newname' where id='$userid'");
    } //else bildsize>1mb    
    } //if dateiendung korrekt
    else
    {
    echo"

    Die Datei hat kein gültiges Dateiformat. Es dürfen nur jpg/gif/bmp Bilder hochgeladen werden.</p>";
    }


  • #2
    Änder erstmal das hier:
    "./Bilder/profil//profil_2.jpg"
    Warum 2 Backslashes?

    SafeMode Änderungen können dir übrigens nen Haufen Probleme bereiten, wenn du unsicher programmiert hast

    Kommentar


    • #3
      Wie sehen denn überhaupt die Zugriffsrechte für das Verzeichnis aus, in das du schreiben möchtest?

      Kommentar


      • #4
        Zergling das sollte aber nichts ausmachen
        Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

        Kommentar


        • #5
          Öcht net? Naja aber wenn schon Fehler auftauchen, kann man die "komischen" Dinge doch erstmal bereinigen.

          Kommentar


          • #6
            Rechte sind derzeit 755 beim Ordner Profile (da wo es hingeht).
            Könnte es daran liegen oder vielleicht eher beim Provider?

            @zergling
            auch ohne doppelten Backslash funktioniert es leider nicht

            Kommentar


            • #7
              mmm....also bei meinem alten provider waren die rechte auch auf 755 gesetzt und es hat geklappt.

              Könnte sonst noch was falsch dran sein?

              Kommentar


              • #8
                Und existiert die Datei vielleicht schon, hat aber noch alte Rechte?

                Kommentar


                • #9
                  Der Beitrag wurde verschoben, wegen...
                  ... Postings im falschen Forum. Bitte beim nächsten Mal darauf achten..

                  Bemerkung:
                  Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen. Dazu: http://www.phpfriend.de/forum/viewtopic.php?t=21515

                  moved to PHP - Anfänger
                  mod = master of disaster

                  Kommentar


                  • #10
                    Warum entspricht die Frage bitte nicht den Wissenstand eines Fortgeschrittenen?

                    Bisher konnte mir kein einiziger meine Frage beantwortet....
                    und ich bezweifle das mir nur Anfänger hier drauf geantwortet haben.
                    Also vielleicht solltet ihr vorher mal den Thread lesen bevor ihr verschiebt. Das ist jetzt nich Böse gemeint oder so....geht einfach nur ums Prinzip

                    @Zergling:
                    Nein es ist keine alte Datei vorhanden.


                    Leute helft mir
                    Mal ne Idee:
                    Könnte es vielleicht daran liegen, dass die Pfade nicht stimmen?

                    Kommentar


                    • #11
                      Zitat von goosele
                      Bisher konnte mir kein einiziger meine Frage beantwortet....
                      Nur anhand deiner Problembeschreibung lässt sich die Frage auch nicht beantworten, sondern nur Vermutungen anstellen.
                      Du hast zum Beispiel auch noch nicht beantwortet, wie denn jetzt die Zugriffsrechte auf das Verzeichnis aussehen.

                      Kommentar


                      • #12
                        Also ein "Es geht nicht" ist totaler Rotz...mal ehrlich gesagt...

                        Wie lautet denn die Fehlermeldung?

                        poste mal die Fehlermeldung und mach mal ein var_dump($_SERVER); und poste bzw. verlinke es hier...dann gugg ma mal weiter ja?

                        MfG


                        Julied

                        Kommentar


                        • #13
                          Also entweder könnt ihr nicht gucken oder ich halluziniere

                          1. Habe ich die Frage der Zugriffsrechte beantwortet

                          Rechte sind derzeit 755 beim Ordner Profile (da wo es hingeht).
                          Könnte es daran liegen oder vielleicht eher beim Provider?
                          oder versteht ihr unter Zugriffsrechte was anderes??

                          2. Fehlermedlung steht zwar direkt am Anfange
                          Warning: move_uploaded_file(./Bilder/profil//profil_2.jpg): failed to open stream: Permission denied in /srv/www/htdocs/web58/html/bild_upload.php on line 160

                          Warning: move_uploaded_file(): Unable to move '/srv/www/htdocs/web58/phptmp/phpv4vL9G' to './Bilder/profil//profil_2.jpg' in /srv/www/htdocs/web58/html/bild_upload.php on line 160
                          Also bitte Augen auf...aber trotzdem danke für die "versuchte" Hilfe.

                          Kommentar


                          • #14
                            var_dump($server) gibt folgendes aus:

                            PHP-Code:
                            array(32) { ["HTTP_ACCEPT"]=> string(164"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*" ["HTTP_REFERER"]=> string(71"http:///bild_upload.php?$sessionname=$sessionid&uid=2" ["HTTP_ACCEPT_LANGUAGE"]=> string(2"de" ["CONTENT_TYPE"]=> string(71"multipart/form-data; boundary=---------------------------7d529f103e049c" ["HTTP_ACCEPT_ENCODING"]=> string(13"gzip, deflate" ["HTTP_USER_AGENT"]=> string(55"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" ["HTTP_HOST"]=> string(18"www..de" ["CONTENT_LENGTH"]=> string(5"44807" ["HTTP_CONNECTION"]=> string(10"Keep-Alive" ["HTTP_CACHE_CONTROL"]=> string(8"no-cache" ["HTTP_COOKIE"]=> string(43"klickreich=61e8b81730969f33e07f988c7bde60dc" ["PATH"]=> string(111"/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin" ["SERVER_SIGNATURE"]=> string(83"
                            Apache/2.0.53 (Linux/SUSE) Server at [url]www..de[/url] Port 80
                            ["SERVER_SOFTWARE"]=> string(26"Apache/2.0.53 (Linux/SUSE)" ["SERVER_NAME"]=> string(18"www..de" ["SERVER_ADDR"]=> string(13"85.214.38.144" ["SERVER_PORT"]=> string(2"80" ["REMOTE_ADDR"]=> string(13"84.44.196.169" ["DOCUMENT_ROOT"]=> string(26"/srv/www/htdocs/web58/html" ["SERVER_ADMIN"]=> string(18"[no address given]" ["SCRIPT_FILENAME"]=> string(42"/srv/www/htdocs/web58/html/bild_upload.php" ["REMOTE_PORT"]=> string(5"13003" ["GATEWAY_INTERFACE"]=> string(7"CGI/1.1" ["SERVER_PROTOCOL"]=> string(8"HTTP/1.1" ["REQUEST_METHOD"]=> string(4"POST" ["QUERY_STRING"]=> string(31"upload=ja&klickreich=$sessionid["REQUEST_URI"]=> string(48"/bild_upload.php?upload=ja&klickreich=$sessionid["SCRIPT_NAME"]=> string(16"/bild_upload.php" ["PHP_SELF"]=> string(16"/bild_upload.php" ["PATH_TRANSLATED"]=> string(42"/srv/www/htdocs/web58/html/bild_upload.php" ["argv"]=> array(1) { [0]=> string(31"upload=ja&klickreich=$sessionid} ["argc"]=> int(1) } 

                            Kommentar


                            • #15
                              okay...

                              "/srv/www/htdocs/web58/html/Bilder/profil/"

                              das müsste der Pfad sein den du angeben musst...
                              "/srv/www/htdocs/web58/html <<<--- evtl. musst du ab hier schaun wie der pfad zu dem Ordner "profil" weiter geht


                              MfG


                              Julied

                              Kommentar

                              Lädt...
                              X