Bilder hochladen

  • Hallo warum geht das bei mir nicht?


    Habe, als Unter Ordner <!-- m --><a class="postlink" href="http://www.seite.de/images/">http://www.seite.de/images/</a><!-- m -->



    Hier der Link zur der Seite


    http://php-einfach.de/codeschnipsel_8052.php

  • Mach mal bitte bei dem Formular das Attribut 'enctype="multipart/form-data"' weg, viele Browser verstehen das nicht und wissen nicht, was sie damit anstellen sollen (z.B. weiß ich, dass Chrome dann einfach nichts macht).


    sonst fällt mir spontan nichts ins Auge =/


    PS: Existiert den diese Ordnerstruktur, die du haben willst, auch?
    (Also
    'Ordenr name/Unterordner/' ?)

  • Es geht immer noch nicht.


    Ich will nur so ein Button zum drauf klicken und einfach ein bild schnell in meine Datei images automatik hocladen mehr auch nicht...

  • Hast du dir den Code mal angeschaut? :)


    Der code muss so aussehen:

    PHP
    <span class="syntaxdefault"><?php<br /></span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'submit'</span><span class="syntaxkeyword">] == </span><span class="syntaxstring">"Hochladen"</span><span class="syntaxkeyword">) {<br /><br /><br /></span><span class="syntaxdefault">$name </span><span class="syntaxkeyword">= </span><span class="syntaxstring">'/images/'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'datei'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">];<br /><br /><br /></span><span class="syntaxdefault">move_uploaded_file</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'datei'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'tmp_name'</span><span class="syntaxkeyword">], </span><span class="syntaxdefault">$name</span><span class="syntaxkeyword">);<br />if(</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$name</span><span class="syntaxkeyword">)) {<br /></span><span class="syntaxdefault">?><br /></span><font color="yellow"><br />Die Datei wurde Erfolgreich nach "<span class="syntaxdefault"><?php </span><span class="syntaxkeyword">echo </span><span class="syntaxdefault">$name</span><span class="syntaxkeyword">; </span><span class="syntaxdefault">?></span>" hochgeladen.<br /><span class="syntaxdefault"><?php </span><span class="syntaxkeyword">}<br />}<br /></span><span class="syntaxdefault">?></span>

    So müsste es klappen.


    (Mal davon abgesehen, dass ich php-einfach net wirklich mag xD)

  • Ich finde im Allgemeinen wie schon mal erwähnt php-einfach nicht gut und auch der Code ist meiner Ansicht nach eher Suboptimal..
    Ich poste dir mal mein Upload-Code:

    PHP
    <span class="syntaxhtml"><span class="syntaxdefault"></span><span class="syntaxkeyword">echo </span><span class="syntaxstring">'<script language="javascript" type="text/javascript"><br /><br />  function show_element(element_id, element_id2)<br />  {<br />    var element  = document.getElementById(element_id);<br />    var element2 = document.getElementById(element_id2);<br />    // aufbau: document.NAMEDESFORMULARS.NAMEDERCHECKBOX;<br />    var check   = document.formular.checkbox;<br />    if(check.checked == true)<br />    {<br />      element.style.display=\'block\';<br />      element2.style.display=\'none\';<br />    }<br />    else<br />    {<br />      element.style.display=\'none\';<br />      element2.style.display=\'block\';<br />    }<br />  }<br /><br /></script>'</span><span class="syntaxkeyword">;<br /><br />if (</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'submit'</span><span class="syntaxkeyword">] == </span><span class="syntaxstring">"Hochladen"</span><span class="syntaxkeyword">) {<br />                if (</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'size'</span><span class="syntaxkeyword">] <= </span><span class="syntaxdefault">5020000<br />                                </span><span class="syntaxkeyword">AND<br />                                </span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"/\.gif|jpe?g|png$/i"</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">true<br />                                                </span><span class="syntaxkeyword">AND<br />                                                </span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">) {<br />                                if (empty(</span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'change'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">) {<br />                                                </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">] = </span><span class="syntaxdefault">explode</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"."</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">]);<br />                                                </span><span class="syntaxdefault">$Change </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">str_replace</span><span class="syntaxkeyword">(array(</span><span class="syntaxstring">"Ä"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"ä"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"Ü"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"ü"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"Ö"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"ö"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">" "</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"."</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"&szlig;"</span><span class="syntaxkeyword">),<br />                                                                array(</span><span class="syntaxstring">"Ae"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"ae"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"Ue"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"ue"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"Oe"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"oe"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"_"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"dot"</span><span class="syntaxkeyword">, </span><span class="syntaxstring">"&amp;szlig;"</span><span class="syntaxkeyword">),<br />                                                                </span><span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'change'</span><span class="syntaxkeyword">]);<br />                                                if (</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"./images/" </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$Change </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"." </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">) {<br />                                                                if (!</span><span class="syntaxdefault">move_uploaded_file</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'tmp_name'</span><span class="syntaxkeyword">], </span><span class="syntaxstring">"./images/" </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$Change </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"." </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">])) {<br />                                                                                echo </span><span class="syntaxstring">'Upps, ein Fehler!'</span><span class="syntaxkeyword">;<br />                                                                } else {<br />                                                                                echo </span><span class="syntaxstring">'Datei(' </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$Change </span><span class="syntaxkeyword">. </span><span class="syntaxstring">"." </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">][</span><span class="syntaxdefault">1</span><span class="syntaxkeyword">] . </span><span class="syntaxstring">') erfolgreich Hochgeladen!'</span><span class="syntaxkeyword">;<br />                                                                }<br />                                                } else {<br />                                                                echo </span><span class="syntaxstring">'<span id="red">Eine Datei mit dem selben Namen wird bereits verwendet!</span>'</span><span class="syntaxkeyword">;<br />                                                }<br />                                } else {<br />                                                if (!</span><span class="syntaxdefault">move_uploaded_file</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'tmp_name'</span><span class="syntaxkeyword">], </span><span class="syntaxstring">"./images/" </span><span class="syntaxkeyword">. </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">])) {<br />                                                                echo </span><span class="syntaxstring">'Upps, ein Fehler!'</span><span class="syntaxkeyword">;<br />                                                }<br />                                }<br />                } else {<br />                                if (</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'size'</span><span class="syntaxkeyword">] >= </span><span class="syntaxdefault">5020000</span><span class="syntaxkeyword">) {<br />                                                echo </span><span class="syntaxstring">'<span id="red">Datei ist zu gro&szlig;!</span>'</span><span class="syntaxkeyword">;<br />                                }<br />                                if (</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"/\.gif|jpe?g|png$/i"</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">]) == </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">) {<br />                                                echo </span><span class="syntaxstring">'<span id="red">Falscher Dateityp!</span>'</span><span class="syntaxkeyword">;<br />                                }<br />                                if (</span><span class="syntaxdefault">file_exists</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_FILES</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'picture'</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">]) != </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">) {<br />                                                echo </span><span class="syntaxstring">'<span id="red">Der Dateiname wird bereits verwendet!</span>'</span><span class="syntaxkeyword">;<br />                                }<br />                }<br />}<br />echo </span><span class="syntaxstring">'<form enctype="multipart/form-data" method="post" name="formular"><br />    <input type="hidden" name="max_file_size" value="5020000"><br />    <label for="picture">Bitte w&auml;hlen Sie die Datei: <input type="file" name="picture" id="picture" /></label><br /><br />    <label for="checkbox" onclick="show_element(\'hidden_input\', \'maybe\')">Datei direkt umbenennen <input type="checkbox" id="checkbox" name="checkbox" value="1" /></label><br />      <label for="change" id="hidden_input" style="display: none;"> in <input type="text" name="change" id="change" /><br />(Ohne Dateiendung. Diese wird &uuml;bernommen.)</label><br /><br />    <p id="maybe">(Wenn Sie den Namen der Datei nicht &auml;ndern, wird er &uuml;bernommen.)<br /></p><input type="submit" id="submit" name="submit" value="Hochladen" /></form>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault"> </span></span>


    Der Code MUSS funktionren, ich habe ihn selbst schon einige Male verwendet.
    Du kannst mit diesem Script NUR Bilder Hochladen und diese können (meine ich) nicht größer als 5MB sein.

  • Nur mal so eine Kleine Frage.. du verwendest aber einen PHP-Fähigen Webspace, beziehungsweise wenn du es auf deinem Rechner verwendest so etwas wie Xampp, oder? :)


    Beziehungsweise du hast meinen Code in

    PHP
    <?php
    ...
    ?>

    gesetzt, oder? Das fehlt nämlich bei dem, was ich dir geschickt habe..


    Ich habe den Code gerade noch mal ausprobiert und damit das bild hochgeladen:
    <!-- m --><a class="postlink" href="http://xn--kreative-kchenplaner-yec.de/bilder/Beispiel_A.png">http://xn--kreative-kchenplaner-yec.de/ ... piel_A.png</a><!-- m -->
    (Warum sonst sollte auch bei einer Küchenseite so ein Bild sein? O.o)

  • Sry, ich hatte etwas dazu editiert, weil der Link nicht klappte (den hätte man sich aber kopieren können)


    Außerdem ist mir noch eingefallen, dass ich vergessen habe dir zu sagen das PHP-Code zwischen <?php und ?> stehen muss, was ich bei meinem Code vergessen hatte dir mit zu schicken :)

  • Macht nichts wir sind ja nur Menschen :)
    Kannst mir aber mal den gesamten Inhalt Posten, weil ich hab jetzt daszwischen


  • das sollte zwar klappen, aber irgendwie will es nicht...


    Dort geht Php das weiß ich, hab öft dort sachen drinne zum ausprobieren und testen. Aber es will irgendwie auch nicht... :!::!::!:

  • ..aus Sicherheitsgründen haben die meisten Provider das Standardmäßig so eingestellt, dass man Dateien und Ordner nicht verändern kann.
    Das kann man ändern, in dem du in deinem FTP-Programm auf die Datei/Ordner Rechts klickst und auf 'Dateiberechtigung ändern' klickst. (oder so ähnlich).
    Ändere am besten die Berechtiung des Ordner auf '777' und auch die der Datei zum hochladen.

  • Nö daran liegt es auch nicht, hab es mal gemacht so wie du schreibst, aber der fehler bleibt..


    Also, ich hab dafür heute auch keine Lust mehr, aber lass morgen weiter machen, wenn du da bis! Danke dir erstmsal- :D


    Schönen Abend noch

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!