kostenloser Webspace werbefrei: lima-city


Datei Upload

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    shuyio1985

    Kostenloser Webspace von shuyio1985

    shuyio1985 hat kostenlosen Webspace.

    Hallo Zusammen ich hab mal nen kleines Datei Upload Script gebastelt.

    Es dient dazu den Usern auf meine Seite die möglichkeit zu bieten Banners hochzuladen.

    Doch leider klappt es alles i.wie net :/ Ich Bekomme keine Fehlermeldung noch läd er die datei hoch.


    if (isset($_FILES["datei"]) AND ! $_FILES["datei"]["error"] AND ($_FILES["datei"]["size"] < 256 )) {
    		$bildinfo = getimagesize($_FILES["datei"]["tmp_name"]);
    		if ($bildinfo === false) {
    				die("kein Bild");				
    		} else {
    			$mime = $bildinfo["mime"];
    			$mimetypen = array (
    					"image/jpeg" => "jpg",
    					"image/gif" => "gif",
    					"image/png" => "png"
    								);
    			if (!isset($mimetypen[$mime])) {
    				die("Nicht das richtige Format");
    			} else {
    				$endung = $mimetypen[$mime];
    			}
    			$neuername = basename($_FILES["datei"]["name"]);
    			$neuername = preg_replace("/\.(jpe?g|gif|png)$/i", "", $neuername);
    			$neuername = preg_replace("/[^a-zA-Z0-9_-]/", "", $neuername);
    			$neuername .= ".$endung";
    			$ziel = "./upload/$neuername";
    			while (file_exists($ziel)) {
    				$neuername = "kopie_$neuername";
    				$ziel = "upload/$neuername";
    			}
    			 if (@move_uploaded_file($_FILES["datei"]["tmp_name"], $ziel)) {
    			 	echo "Wunderbar";
    			 } else {
    			 	echo "Fehler";
    			 }
    		   }
    		 }
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. online-capture

    online-capture hat kostenlosen Webspace.

    einfach mal error_reporting(E_ALL); an den Anfang setzen und gucken ob es dann fehlermeldungen gibt.
  4. Autor dieses Themas

    shuyio1985

    Kostenloser Webspace von shuyio1985

    shuyio1985 hat kostenlosen Webspace.

    nichts gibt er aus ;D
  5. online-capture

    online-capture hat kostenlosen Webspace.

    bist du sicher, dass die datei nicht zu groß ist, dein code macht ja nichts, wenn die datei zu groß ist
  6. shuyio1985 schrieb:
    nichts gibt er aus ;D
    ja! klar! dass es geht, macht man genau das. und bitte von da ganz durchlesen. tastenkombinationen &c. könnten auch dabei behilflich sein ;)

    und hiezu hast du ja ein pn von mir (wolltest ja haben!)

    Beitrag zuletzt geändert: 17.8.2013 13:59:16 von czibere
  7. Autor dieses Themas

    shuyio1985

    Kostenloser Webspace von shuyio1985

    shuyio1985 hat kostenlosen Webspace.

    czibere schrieb:
    shuyio1985 schrieb:
    nichts gibt er aus ;D
    ja! klar! dass es geht, macht man genau das. und bitte von da ganz durchlesen. tastenkombinationen &c. könnten auch dabei behilflich sein ;)

    und hiezu hast du ja ein pn von mir (wolltest ja haben!)


    So hier dein Script =)

    <?php
     
    ini_set('display_errors', '1');
    error_reporting(E_ALL | E_STRICT);
     
    $xsize = 28000; // 
     
    echo <<< EOT
          <form action="" method="post" enctype="multipart/form-data">
            Datei: <input type="file" name="image"><br />
            <input type="submit" name="cupload" value="upload">
            <!-- input type="hidden" name="MAX_FILE_SIZE" value="$xsize" -->
          </form>' . PHP_EOL
    EOT;
    echo "<pre>".print_r($_FILES,true)."</pre>";
     
    if(($_FILES['image']['error'] === 0) AND ($_FILES['image']['size'] < $xsize)) {
    echo "<h1>HERE</h1>";
      $bildinfo = getimagesize($_FILES['image']['tmp_name']);
      if($bildinfo === false) {
          die("kein Bild");
      } else {
        $mime = $bildinfo['mime'];
        $mimetypen = array (
            "image/jpeg" => "jpg",
            "image/gif" => "gif",
            "image/png" => "png"
                  );
        if(!isset($mimetypen[$mime])) {
          die("Nicht das richtige Format");
        } else {
          $endung = $mimetypen[$mime];
        }
        $neuername = basename($_FILES['image']['name']);
        $neuername = preg_replace("/\.(jpe?g|gif|png)$/i", "", $neuername);
        $neuername = preg_replace("/[^a-zA-Z0-9_-]/", "", $neuername);
        $neuername .= ".$endung";
    #exit(''.$neuername);
        $ziel = "upload/$neuername";
        while(file_exists($ziel)) {
          $neuername = "kopie_$neuername";
          $ziel = "upload/$neuername";
        }
        if(move_uploaded_file($_FILES['image']['tmp_name'], $ziel)) {
          echo "Wunderbar";
        } else {
          echo "Fehler";
        }
      }
    } else {
      $emsg = array(
        'There is no error, the file uploaded with success.',
        'The uploaded file exceeds the upload_max_filesize directive in php.ini.',
        'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.',
        'The uploaded file was only partially uploaded.',
        'No file was uploaded.',
        '',
        'Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.',
        'Failed to write file to disk. Introduced in PHP 5.1.0.',
        'A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.'
      );
      echo "<p><strong>{$emsg[$_FILES['image']['error']]}</strong></p>";
    }
    ?>


    Es Funktioniert auch net :/ die Datei wird nicht hochgeladen und es kommen auch KEINE Fehler


    hier der link zum testen : http://babbelfish.eu/upload.php

    Beitrag zuletzt geändert: 17.8.2013 19:06:25 von shuyio1985
  8. shuyio1985 schrieb:
    ... Es Funktioniert auch net :/ die Datei wird nicht hochgeladen und es kommen auch KEINE Fehler
    gibts ned!
    hier der link zum testen : http://babbelfish.eu/upload.php
    ich habe bei dir ein bild 'fish.gif' aufgeladen. teste mal bitte. (beweismittel:http://czibere.lima-city.de/_forum/shuyio1985/babbelfish_eu.png)

    außerdem habe ich dir im pn darauf higewiesen, dass das script wohl irgendwelche meldungen von sich geben kann (so wie: ' . PHP_EOL [flüchtigkeitfehler]) die aber die funktionalität nicht betrefen ;)

    nichts desto trotz, hier ein 'update':
    <?php
    /**
     *  czibere.lima-city.de/_forum/shuyio1985/upload.php
     */
    
    ini_set('display_errors', '1');
    error_reporting(E_ALL | E_STRICT);
    
    $xsize = 28000; // maximale bilddateigröße in bites
    
    $eol = PHP_EOL;
    echo <<< EOT
          <form action="" method="post" enctype="multipart/form-data">
            Datei: <input type="file" name="image"><br />
            <input type="submit" name="cupload" value="upload">
            <!-- input type="hidden" name="MAX_FILE_SIZE" value="$xsize" -->
          </form>$eol$eol
    EOT;
    echo "<h3>\$_FILES:</h3><pre>".print_r($_FILES,true)."</pre>";
    
    if(isset($_FILES['image']) AND
       ($_FILES['image']['error'] === 0) AND
       ($_FILES['image']['size'] < $xsize)) {
    #echo "<h1>HERE</h1>";
      $bildinfo = getimagesize($_FILES['image']['tmp_name']);
      if($bildinfo === false) {
          die('kein Bild');
      } else {
        $mime = $bildinfo['mime'];
        $mimetypen = array (
            'image/jpeg' => 'jpg',
            'image/gif'  => 'gif',
            'image/png'  => 'png'
          );
        if(!isset($mimetypen[$mime])) {
          die('Nicht das richtige Format');
        } else {
          $endung = $mimetypen[$mime];
        }
        $neuername = basename($_FILES['image']['name']);
        $neuername = preg_replace("/\.(jpe?g|gif|png)$/i", "", $neuername);
        $neuername = preg_replace("/[^a-zA-Z0-9_-]/", "", $neuername);
        $neuername .= ".$endung";
    #exit(''.$neuername);
        $ziel = "upload/$neuername";
        while(file_exists($ziel)) {
          $neuername = "kopie_$neuername";
          $ziel = "upload/$neuername";
        }
        if(move_uploaded_file($_FILES['image']['tmp_name'], $ziel)) {
          echo 'Wunderbar';
        } else {
          echo 'Fehler';
        }
      }
    } else {
      $emsg = array(
        'There is no error, the file uploaded with success.',
        'The uploaded file exceeds the upload_max_filesize directive in php.ini.',
        'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.',
        'The uploaded file was only partially uploaded.',
        'No file was uploaded.',
        '',
        'Missing a temporary folder. Introduced in PHP 4.3.10 and PHP 5.0.3.',
        'Failed to write file to disk. Introduced in PHP 5.1.0.',
        'A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.'
      );
      if(isset($_FILES['image'])) {
        echo "<hr /><h3>error message:</h3>
          <p><strong>{$emsg[$_FILES['image']['error']]}</strong></p>$eol$eol";
      }
    }
    
    
    require_once './getDirTree.php';
    $dir = print_r(getDirTree('./upload'),true);
    echo <<< EOT
    <hr /><h3>bilder im ordner './upload/':</h3>
    <p>
      <pre>$dir</pre>
    </p>
    EOT;
    
    $f = highlight_file(__FILE__,true);
    echo <<< EOT
    <hr /><h3>code</h3>
    <pre>
      $f
    </pre>
    EOT;

    hier zum testen.

    und weil das genau so ist, muss ich leider sagen, du hast genau das nicht nachgelesen ;)
  9. Autor dieses Themas

    shuyio1985

    Kostenloser Webspace von shuyio1985

    shuyio1985 hat kostenlosen Webspace.

    Okay okay :/ ich nehm es zurück es klappt doch wunderbar :/

    nur was mich irritiert hat ist :


    There is no error, the file uploaded with success

    Diese meldung kam als ich ein Bild hochgeladen habe. anscheind war das bild aber zu groß oder was auch immer.
  10. shuyio1985 schrieb:
    Okay okay :/ ich nehm es zurück es klappt doch wunderbar :/

    nur was mich irritiert hat ist :


    There is no error, the file uploaded with success

    Diese meldung kam als ich ein Bild hochgeladen habe. anscheind war das bild aber zu groß oder was auch immer.
    das kann nicht stimmen! dann hättest du die meldung 'The uploaded file exceeds the upload_max_filesize directive in php.ini.' sehen müssen.
    alle meldungen siehst du im letzten source von mir ab zeile 58. ja und bevor du das nächste mal in panik fällst, lese bitte den inhalt des bilschirmes ;))

    ich möchte dich allerdings nochmals fragen (einmal habe ich schon) was bezwecks du mit den zeilen 41-44??

    Beitrag zuletzt geändert: 17.8.2013 23:55:45 von czibere
  11. Autor dieses Themas

    shuyio1985

    Kostenloser Webspace von shuyio1985

    shuyio1985 hat kostenlosen Webspace.

    das ist wenn jemand das gleiche bild uploaded wie schon vorhanden ist.

    Es sollte das bild umbennen


    Ich kann dir nur sagen wie es war. ich habe wirklich diese meldung bekommen :/ und es wurde kein Bild hochgeladen

    Beitrag zuletzt geändert: 18.8.2013 7:44:14 von shuyio1985
  12. shuyio1985 schrieb:
    ... Es sollte das bild umbennen
    ok! aus fish.gif wird dann kopie_fish.gif, kopie_kopie_fish.gif &c. nach meiner erfahrung sowas erschwert das suchen. ich würde so umbenenne: fish.gif -> fish_x.gif (wobei x natürlich ein integer ist [einfach hochgezählt]). dann bleibt fish dort wo fish hingehört ;)
    Ich kann dir nur sagen wie es war. ich habe wirklich diese meldung bekommen :/ und es wurde kein Bild hochgeladen
    yo mey!!?? wunder an wunder ;)
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!