File Uplaod

domiweber

Erfahrenes Mitglied
Habe schon sehr viel gegoogelt und mit der Suchfunktion von tutorials.de gesucht... Habe aber nie das richtige gefunden.
Ich möchte bei einem Blog/Newssystem noch eine Upload funktion erstellen. Also wenn ich etwas schreibe dass ich unter dem Textfeld gerade ein Bild auslesen und uploaden kann.
Es sollte nur der Pfad in der Datenbank gespeichert werden und dann im Blog einfach das Bild wieder ausgeben, das sollte auch kein Problem sein.
Nur der Upload weiss ich nicht ganz wie ich das realisieren kann.
Weiss da jemand etwas mehr dazu?
 
Hi
vieleicht kannst du was damit anfangen:
PHP:
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="5000">
<input type="file" name="datei"><br>
<input type="submit" value="hochladen">
</form>

<?php 

function check_datei() 
{ 
global $datei_name, $dateiname; 
    $backupstring = "copy_of_"; 
    $dateiname = $backupstring."$dateiname"; 

    if( file_exists($dateiname)) 
    { 
        check_datei(); 
    } 
} 

if(!empty($datei)) 
{ 
    $dateiname = $datei_name; 
    if( file_exists($datei_name)) 
    { 
        check_datei(); 
        echo "Die Datei mit dem Dateinamen <b>$datei_name</b> existierte bereits.<br> Ihre Datei wurde in <b>$dateiname</b> umbenannt"; 
    } 
    if($datei_size > $MAX_FILE_SIZE) 
    { 
        echo "Die Datei ist zu groß, die maximale Dateigr&ouml;sse beträgt $MAX_FILE_SIZE Byte(s)"; 
    } 
    else 
    { 
        copy($datei,"$dateiname"); 
        if( file_exists($dateiname)) 
        { 
            echo "<br>Die Datei <b>$datei_name</b> wurde mit <b>$datei_size Byte</b> erfolgreich hochgeladen"; 
        } 
        elseif(! file_exists($dateiname)) 
        { 
            echo "Die Datei ist nicht vorhanden"; 
        } 
    } 
} 
?>
ein uploadscript.
 
Vielen Dank für die Antwort aber meine Frage ist eigentlich nur wie ich den Pfad des Bildes in der DB speichere?
Aber trotzdem danke.
 
hi...

musste auch mal ein uploadscript schreiben.
dabei sollten auch die pfade gespeichert werden...

ich hab das so gemacht:

im uploadscript musst du ja einen pfad angeben, wo das bild gespeichert werden soll.
oder es wird automatisch gemacht(bei mir waren es keine bilder, sondern pdfs, docs, swfs usw in mehreren kategorien)

diesen pfad speicherst du dann einfach in einer tabelle zusammen mit dem namen des bildes ab.
wenn man ein file hochlädt, dann hat das zuerst mal einen temporären namen und wenn es oben ist, dann gibt man ihm einen festen (beispiel folgt unten).

das script zum uploaden hat dir spirits92 ja schon gezeigt.
folgende zeile ist wichtig:

Code:
<input type="file" name="datei" />

danach kannst du das file bearbeiten:

Code:
$tempname  = $_FILES['datei']['tmp_name'];
$name      = $_FILES['datei']['name'];

Die Variable $name ist der Name des Files, das du hochladen willst.
diesen Namen kannste nun in der DB abspeichern und das bild kann zugewiesen werden!

ich hoffe, dass ich dir damit etwas weiterhelfen konnte! ;)
 
Werde mich später noch darum kümmern ;-)
Aber danke vielmal hat mir sicher weitergeholfen werde mich später nochmal melden ob es geklappt hat oder nicht...
gruss
 
Hi,

bin durch die Suchfunktion hier drauf gestoßen. Hab das upload Script von spirits92 mal ausprobiert..... So und jetzt würde ich gerne wissen wie das ghet, dass die Datei, die ich hochgeladen habe ich einen bestimmten ordner kommt!

Wie geht das?

Gruss Rambo51
 
Hallo,
einfach bei [phpf]copy[/phpf] den absoluten Pfad angeben (findest du in der phpinfo() oder durch $_SERVER['DOCUMENT_ROOT']).

mfg
forsterm
 
Danke,

habe es jetzt aber doch alleine hinbekommen, für die jenigen die wissen wollen wie, poste ich den code mal.

PHP:
<form enctype="multipart/form-data" action="upload.php" method="post"> 
<input type="hidden" name="MAX_FILE_SIZE" value="99999999999"> 
<input type="file" name="datei"><br> 
<input type="submit" value="hochladen"> 
</form> 

<?php
   $url = "pfad zur Hp"
?>   

<?php  

function check_datei()  
{  
global $datei_name, $dateiname;  
    $backupstring = "copy_of_";  
    $dateiname = $backupstring."$dateiname";  

    if( file_exists($dateiname))  
    {  
        check_datei();  
    }  
}  

if(!empty($datei))  
{  
    $dateiname = $datei_name;  
    if( file_exists("files/$datei_name"))  
    {  
        check_datei();  
        echo "Die Datei mit dem Dateinamen <b>$datei_name</b> existierte bereits.<br> Ihre Datei wurde in <b>$dateiname</b> umbenannt";  
    }  
    if($datei_size > $MAX_FILE_SIZE)  
    {  
        echo "Die Datei ist zu groß, die maximale Dateigr&ouml;sse beträgt $MAX_FILE_SIZE Byte(s)";  
    }  
    else  
    {  
        copy($datei,"files/$dateiname");  
        if( file_exists("files/$dateiname"))  
        {  
            echo "<br>Die Datei <b>$datei_name</b> wurde mit <b>$datei_size Byte</b> erfolgreich in den Ordner geladen: <a href=\"$url/files\">$url/files</a>";  
        }  
        elseif(! file_exists("files/$dateiname"))  
        {  
            echo "Die Datei ist nicht vorhanden";  
        }  
    }  
}  
?>


Gruss Rambo51
 
Zurück