tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
469
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    chrisbhv chrisbhv ist offline Mitglied Bronze
    Registriert seit
    Oct 2003
    Ort
    Bremerhaven
    Beiträge
    49
    Hallo,

    Ich habe eine Uploadscript gefunden, welches ich umgeschrieben habe für meine Bildergalerie.

    Das Problem ist, dass cih eienn Zielordner angebe - wo er das bild dann speichern soll - jedoch sagt er, das er den ordner nicht erstellen kann - wobei er ja KEIN ordner erstellen soll !

    folgendes Script:

    PHP-Code:
    <?

    case "add_pics":

    $id "$id";
    echo 
    "$id";


        
    $erg mysql_query("SELECT * FROM `igal` WHERE id= '".$id."';");
        
    $num mysql_numrows($erg);
        if (
    $num 0) {
            while (
    $row mysql_fetch_object($erg)) {

            
    $ordner $row ->ordner;
                    
    //while schleife
    //if vor while



    ?>
          <br><br>
            <form enctype="multipart/form-data" action="?action=upload_now" method="post">
                <table border="0" width="95%">
                    <tr>
                <td>&nbsp;</td>
                <td><font class="text">maximale Abmessungen: 1600x1600<br>Dateitypen: GIF, JPG</font></td>
                    </tr>
                    <input type="hidden" name="ordner" value="<? echo "$ordner"?>">
                    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
                    <tr>
                <td><font class="text">Bild Datei auf eigenem PC:</font></td>
                <td><input name="userfile" type="file" class="textfeld"></td>
            </tr>
                </table>
            <input type="submit" value="Senden" class="textfeld">
    <?
    break;

    case 
    "upload_now":

    echo 
    "$ordner<BR> ausgabe übergabe Ordner!";

    $uploaddir "../bildgalerie/$ordner";
            echo 
    "$uploaddir ausgabe uploaddir <BR><BR>";
            
    $orig_filename=$_FILES['userfile']['name'];

            if(
    $_FILES['userfile']['type']=="image/pjpeg"){
                
    $filext=".jpg";
            }
            if(
    $_FILES['userfile']['type']=="image/jpeg"){
                
    $filext=".jpg";
            }
            if(
    $_FILES['userfile']['type']=="image/gif"){
                
    $filext=".gif";
            }
            
    $imgsize=getimagesize($_FILES['userfile']['tmp_name']);
            echo 
    "<font class=\"text\">";
            if(
    $imgsize[0]>1600 OR $imgsize[1]>1600){
                echo 
    "<br>Fehler: Bild hat zu große Abmessungen<br>";
            }else{
                if(
    move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir)) {
                      echo 
    "Datei erfolgreich hochgeladen<br>";
                      
    print_r($_FILES);
                } else {
                    print 
    "Error - Bitte Admin benachrichtigen";
                    
    print_r($_FILES);
                }
                }
    break;

    ?>
    Folgendermaßen funktioniert das Script:

    Äuswählen, welcher Ordner -> per id an "case add_pics" übergeben
    Sortierung nach id - mit zusammengehörigkeit des ordners aus DB
    Eingabe für Upload -> wird dann an "case upload_now" geschickt.

    Ordnerstruktur:
    diese Datei heisst bildgalerie.php und liegt hier:
    bla/php/admin/bildgalerie.php

    Die Bilder sollen aber hier rein:
    bla/php/bildgalerie/jeweiliger Ordner

    Folgender Fehlercode:

    Warning: Unable to create '../bildgalerie/test/': Is a directory in xxxxxxxxxxxxxxxx/php/admin/bildgalerie.php on line 236
    Error - Bitte Admin benachrichtigenArray ( [userfile] => Array ( [name] => 6169145.jpg [type] => image/pjpeg [tmp_name] => /var/www/web1/phptmp/phpUpDZSU [size] => 3144 ) )

    Zeile 236 ist:
    if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir)) {


    danke für Eure Hilfe....

    Chris
     

  2. #2
    Sicaine Tutorials.de Gastzugang
    move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir)

    Öhm wenn du dir die Funktion genau ansiehst wirst du sehen, dass die Methode als 2tes Argument ebenfalls ein Dateiname will. also $uploaddir.'testname.xyz' im beispiel stehts allerdings so drinnen: $uploaddir.$FILES['userfile']['name']
     

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    $id = "$id";
    Hehe, netter Ausdruck. Falls du der Varianle id einen anderen Variablentypen zuweisen bzw. sie umformatieren möchtest, gibt es weitaus geschicktere Methoden:
     
    Markus Wulftange

  4. #4
    chrisbhv chrisbhv ist offline Mitglied Bronze
    Registriert seit
    Oct 2003
    Ort
    Bremerhaven
    Beiträge
    49
    danke erstmal,

    ich habs jetzt so umgeändert:

    if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir.$_FILES)) {

    das klappt fast, nur das einzige was er hochlädt ist ein "array"

    -rwxr-xr-x 1 apache apache 33371 Nov 16 22:09 Array

    und nicht das jpg welches ich ihm gesagt habe.....

    was mache ich falsch ?
     

  5. #5
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    $_FILES ist auch ein Array. Wenn ein String erwartet wird, und du ein Array übergibst, wird das Array automatisch in den String "Array" gecastet.
     

  6. #6
    chrisbhv chrisbhv ist offline Mitglied Bronze
    Registriert seit
    Oct 2003
    Ort
    Bremerhaven
    Beiträge
    49
    Aber wie kann ich es denn wieder umformen, sodass es wieder als jpg abegspeichert wird.

    Mir fällt leider gerade überhaupt nichts mehr ein...
     

  7. #7
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Ich gebe dir mal einen Tipp: Kauf dir ein Buch über PHP, und versuch erst mal die Basics zu lernen, bevor du anfängst, ein Script zu verändern, obwohl du keine Ahnung hast, was du eigentlich machst.
    Das ist nicht böse gemeint, und ich hoffe, du bist mir jetzt nicht beleidigt, das war nur ein gut gemeinter Rat.
     

  8. #8
    chrisbhv chrisbhv ist offline Mitglied Bronze
    Registriert seit
    Oct 2003
    Ort
    Bremerhaven
    Beiträge
    49
    Ja danke - habe ich auch schon.......

    Allerdings habe ich mit meinen Gedanken - keine ahnung wo gehangen - sodass ich es übersehen habe....


    so funktionierts:

    if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir.$_FILES['userfile']['name'])) {

    ich habe mich woanders am code aufgehalten....

    Trotzdem Danke - manchmal hilft es drüber zu reden..
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 18.08.10, 15:11
  2. SSH vs FTP: Warum sehe ich Ordner nicht?
    Von cocoon im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 11.06.10, 21:05
  3. Firefox zeigt Bilder nicht an, dafür aber der IE 7
    Von Razer3k im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 12.03.09, 20:46
  4. Ordner erstellen per FTP - aber wie ?
    Von chrisbhv im Forum PHP
    Antworten: 0
    Letzter Beitrag: 16.09.04, 09:30
  5. Sehe keine Maus unter KDE
    Von JohnDoe im Forum Linux & Unix
    Antworten: 3
    Letzter Beitrag: 13.06.02, 23:22