kostenloser Webspace werbefrei: lima-city


PHP Bild Upload Script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    jqni

    jqni hat kostenlosen Webspace.

    Hallo liebe Community,
    ich habe folgendes Problem mit PHP:
    Ich will eine Funktion machen in der man einen Link von einem Bild eingeben kann und dieses Bild dann auf dem Server gespeichert wird und man es abrufen kann, ein Art Bilderhosting. Es funktioniert alles bis das die endung der Datei immer automatisch zu .png geändert wird. Hier ist der Script:
    if(isset($_POST['url'])) {
    $contents= file_get_contents($_POST['file']);
    $savename = md5($_POST['file']);
    $savename .= rand(1,9999999);
    $savefile = fopen("up/$savename.png", "w");
    fwrite($savefile, $contents);
    fclose($savefile);

    Ich will das die Dateiendung erhalten bleibt, weiß jedoch nicht wie ich das machen soll. Das mit dem PNG habe ich vorläufig gemacht bis ich eine Lösung gefunden habe.

    Beitrag zuletzt geändert: 29.4.2013 18:00:42 von jqni
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Wo kommt das $_POST['file'] her .... sollte wohl $_POST['url'] sein ?!

    hier mal Beispiel mit nur bestimmte Datei-Endungen erlaubt

    if(isset($_POST['url'])) {
    
    $quelldatei = $_POST['url']; 
    // --- hier noch prüfen ob Datei zur URL existiert 
    
    $contents = file_get_contents($quelldatei);
    // --- hier noch prüfen ob Datei Inhalt bösen Code enthält 
    
    $allowedExts = array("gif", "jpeg", "jpg", "png");
    
    $extension = end(explode(".", $quelldatei));
    
    if ( in_array($extension, $allowedExts) ) { 
    
    $savename = md5($quelldatei) . rand(1,9999999); 
    
    $savefile = fopen("up/".$savename.".".$extension."", "w", 0666);
    fwrite($savefile, $contents);
    fclose($savefile);
    
    }


    alternativ ... einfach mit copy() die Datei kopieren ... wenn der Server das erlaubt
    copy($quelldatei , "up/".$savename.".".$extension);

    ... aber ich würde den Inhalt der Datei immer vor Speichern noch prüfen,
    denn auch innerhalb einer Bild-Datei kann "böser" Code (hack) stehen



    Beitrag zuletzt geändert: 29.4.2013 18:31:14 von opsuche
  4. Autor dieses Themas

    jqni

    jqni hat kostenlosen Webspace.

    Danke, genau das hab ich gesucht!!:)
    $_POST['url'] ist der Button und $_POST['file'] das eingabefeld

    Beitrag zuletzt geändert: 30.4.2013 14:31:48 von jqni
  5. 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!