Ankündigung

Einklappen
Keine Ankündigung bisher.

upload will nicht - wo ist der Fehler?

Einklappen

Neue Werbung 2019

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

  • upload will nicht - wo ist der Fehler?

    also wen ich es mit folgendem code probiere funktionierts einwandfrei:
    PHP-Code:
    <?php
    if ($senden) {
         
    //Variablen definieren
         
    $pfad "upload";     //Ordner für den Upload bestimmen
         
    $sizeabfrage "no";  //Dateigrösse überprufen? (yes/no)                             
         
    $size "20";         //maximale Dateigrösse in Byte                                
                                   
         
    $body="<html><body bgcolor=#FFFFFF text=#000000>";
         if (
    $file_name == "") {
            echo 
    $body;
            die(
    "Keine Datei gewählt.");
         }
         if (
    file_exists("$pfad/$file_name")) {
            die(
    $body."Datei bereits vorhanden.");
         }
         if (
    $sizeabfrage == "yes") {
            if (
    $file_size $size) {
               echo 
    $body;
               die(
    "Die Datei ist zu groß !");
            }
         }

         
    $upload "$file_name";
         
    copy($file"$pfad/$upload") or die($body."Datei wurde nicht hochgeladen.");
         echo 
    $body;
         echo 
    "Datei hochgeladen";
         }
         else {
    ?>

    <html>
    <body bgcolor=#FFFFFF text=#000000 link=#ccff88 vlink=ccff88 alink=#ccff88>
    <form action="<?php $PHP_SELF?>"method="post" enctype="multipart/form-data">


    Bitte Datei auswählen:

    <input type=file name=file>


    <button name="senden" type="submit">Hochladen</button>
    </form>
    </body>
    </html>

    <?
         }
    ?>
    jetzt möchte ich aber eine funktion machen, daher habe ich das script aufgeteilt und zwar in 2 Dateien
    eine wäre die upload_file2.php:
    PHP-Code:
    <?php
         
    require('functions/upload.php');  
      if (
    $senden) {
         
    up($file_name);
         }
         else {
    ?>

    <html>
    <body bgcolor=#FFFFFF text=#000000 link=#ccff88 vlink=ccff88 alink=#ccff88>
    <form action="<?php $PHP_SELF?>"method="post" enctype="multipart/form-data">


    Bitte Datei auswählen:

    <input type=file name=file>


    <button name="senden" type="submit">Hochladen</button>
    </form>
    </body>
    </html>

    <?
         }
    ?>
    und die andere die sich im Ordner Functions befindet upload.php:
    PHP-Code:
    <?PHP
    function up($file_name)
         {
         
    //Variablen definieren
         
    $pfad "upload";     //Ordner für den Upload bestimmen
         
    $sizeabfrage "no";  //Dateigrösse überprufen? (yes/no)                             
         
    $size "20";         //maximale Dateigrösse in Byte                                
                                   
         
    $body="<html><body bgcolor=#FFFFFF text=#000000>";
         if (
    $file_name == "") {
            echo 
    $body;
            die(
    "Keine Datei gewählt.");
         }
         if (
    file_exists("$pfad/$file_name")) {
            die(
    $body."Datei bereits vorhanden.");
         }
         if (
    $sizeabfrage == "yes") {
            if (
    $file_size $size) {
               echo 
    $body;
               die(
    "Die Datei ist zu groß !");
            }
         }

         
    $upload "$file_name";
         
    copy($file"$pfad/$upload") or die($body."Datei wurde nicht hochgeladen.");
         echo 
    $body;
         echo 
    "Datei hochgeladen";
         }
    ?>
    Als Meldung kommt jetzt immer "Datei wurde nicht hochgeladen."
    Ich hoffe ihr könnt mir helfen =(
    :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

  • #2
    Dein Script ist in einem komplett veraltetem Stil programmiert worden, siehe

    http://www.php.net/manual/de/features.file-upload.php

    Gruß
    phpfan

    Kommentar


    • #3
      ach.. und ich wette das kann mir hier keiner umbauen das ganze Zeug mit den Arrays raff ich eh nicht ganz..
      :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

      Kommentar


      • #4
        Zitat von dsmcg
        ach.. und ich wette das kann mir hier keiner umbauen
        Können schon, wollen wohl eher nicht.
        Zitat von dsmcg
        das ganze Zeug mit den Arrays raff ich eh nicht ganz..
        Dann solltest du das dringends lernen, denn ohne Array kommt man in PHP garnicht aus.

        Gruß
        phpfan

        Kommentar


        • #5
          aber man könnte, ja einfach im moment das moment lösen, wobei ich später das ganze Script anpasse.
          ich meine das einzige Problem warum es jetzt nicht funktioniert ist ja nur das Problem mit der eigenenen funktion.. wen diese funktioniert bin ich ja schon zufrieden..
          :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

          Kommentar


          • #6
            hab jetzt folgendes script:
            PHP-Code:
            <?php
               
               
            if ($senden) {
               
            $uploaddir 'upload';

               print 
            "<pre>";
               if (
            move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir $_FILES['userfile']['name'])) {
                  print 
            "File is valid, and was successfully uploaded.  Here's some more debugging info:\n";
                  
            print_r($_FILES);
               } 
               else {
                  print 
            "Possible file upload attack!  Here's some debugging info:\n";
                  
            print_r($_FILES);
               }
               }
               else {
            ?> 

            <html>
            <body bgcolor=#FFFFFF text=#000000 link=#ccff88 vlink=ccff88 alink=#ccff88>
            <form action="<?php $PHP_SELF?>"method="post" enctype="multipart/form-data">


            Bitte Datei auswählen:

            <input type=file name=file>


            <button name="senden" type="submit">Hochladen</button>
            </form>
            </body>
            </html>
            <?PHP
            }
            ?>
            das script bringt eine Ausgabe, und zwar diese:
            Possible file upload attack! Here's some debugging info:
            Array
            (
            [file] => Array
            (
            [name] => who_work.xls
            [type] => application/vnd.ms-excel
            [tmp_name] => /tmp/phpjdRSZ2
            [error] => 0
            [size] => 17408
            )

            )

            ich blick nicht mehr durch =( es funktioniert ja nicht mal so, und ich brauchs in ner funktion..
            :arrow: [URL="http://tiny.cc/0xlvv"]Wie man Fragen richtig stellt[/URL]

            Kommentar


            • #7
              ich blick nicht mehr durch =( es funktioniert ja nicht mal so, und ich brauchs in ner funktion..
              Wo ist das Problem das Array von $_FILES einer Function zu übergeben ?

              Kommentar


              • #8
                immer error_reporting(E_ALL) nutzen bzw. php.ini entsprechend editieren, dann würdest du wahrscheinlich auch den fehler im ersten script finden.
                bei dir kommt dann wahrscheinlich sowas in der kante: Notice: Undefined index: userfile
                ergo: $_FILES['file'] ist richtig (siehe dein print_r()-ergebnis)

                quelltext nicht einfach kopieren, sondern verstehen und wenn doch, bitte richtig anpassen

                Kommentar

                Lädt...
                X