thorben
02.12.2004, 17:41:13
Hello Selfphp-Forum,
ich habe Probleme mit einem Upload-Script, was eigentlich laufen sollte (erfolgreich getestet), allerdings wird es durch eine Fehlermeldung abgebrochen.
Hier das kompette Script:
if (isset($_POST['senden'])==true)
{
$extlimit = "yes"; //Do you want to limit the extensions of files uploaded
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Extensions you want files uploaded limited to.
$sizelimit = "yes"; //Do you want a size limit, yes or no?
$sizebytes = "1000000"; //size limit in bytes
if($senden){
if($bilddatei!= "") {
if (($sizelimit == "yes") && ($bilddatei_size > $sizebytes)) {
echo "Die Bilddateiname ist zu gross, sie darf mamimal $sizebytes bytes sein.";
}
$ext = strrchr($bilddatei_name,'.');
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Die Bilddateiname hat nicht die richtige Endung.";
}
//Der Ordner images liegt auf dem Server, dort werde die Bilder kopiert.
//falls im images Ordner der Name der Bilddatei schon existiert, dann soll eine Fehlermeldung kommen.
elseif (file_exists("images/$bilddatei_name")) {
echo "Die Bilddateiname existiert bereit. Bitte ändere deine Bilddateiname und versuche es nochmal.";
}
//ansonsten wird die Datei im Ordner images kopiert
else{
copy($bilddatei,"images/$bilddatei_name");
} }//if($bilddatei!= "") {
}//if($senden)
//Daten speichern
$count = "0";
$datum = date("d.m.Y");
$guestfile="../data/news.csv";
$auswahl=$_POST["namen"];
$bild01 = $bilddatei;
$bild02 = "0";
$bild03 = "0";
$bild04 = "0";
$bild05 = "0";
$bild06 = "0";
$bild07 = "0";
$bild08 = "0";
$bild09 = "0";
$bild10 = "0";
if(file_exists($guestfile)){
$datei=fopen($guestfile,"r");
$guest_data=fread($datei,filesize($guestfile));
fclose($datei);
}
$datei=fopen($guestfile,"w");
flock($datei,1);
$longtext = str_replace("n", "<br>", $langtext);
fputs($datei,"$head|$kurztext|$langtext|$datum|$bild01|$bild02|$bild03|$bild04|$bild 05|$bild06|$bild07|$bild08|$bild09|$bild10|$countn");
if (isset($guest_data));
fputs($datei,$guest_data);
flock($datei,3);
fclose($datei);
header("Location:index.php?sent=weiter");
exit;
}
Das Formular sieht folgendermaßen aus.
<form action='xxx.php' method='post'>
<u>Überschrift</u><i><input name='head' class='feld' type='text'></i>
<br><img src='../img/ecblank.gif' height='6'><br>
<u>Kurztext</u><i><input name='kurztext' class='feld' type='text'></i>
<br><img src='../img/ecblank.gif' height='6'><br>
<u>Langtext</u><i><textarea name='langtext' class='feld2'></textarea></i>
<br><img src='../img/ecblank.gif' height='6'><br><br><br><br><br><br><br>
<u>1. Bild</u><i><input type='file' name='bilddatei' value='durchsuchen'></i><br><br><br>
<input type='submit' class='submitx' NAME='senden' VALUE='SENDEN'>
</form>
Ich bekomme folgende Meldung:
"Die Bilddateiname hat nicht die richtige Endung."
Meiner Meinung hat das was mit meiner Ordnerstruktur zu tun, verrückterweise sind die Ordner vorhanden.
Und die Schreibweisen sind richtig.
1. Muss man bei der Ordnerstruktur etwas beachten, als nur den richtigen Pfad?
2. In welcher Variable finde ich den Dateinamen? (Hab mir das schon mal mit echo ausgeben lassen, leider ist der Dateiname nirgendwo vorhanden)
3. Wie kann ich das Script so umstellen, dass ich mehrere Uploads realisieren kann?
Gruß thorben.
ich habe Probleme mit einem Upload-Script, was eigentlich laufen sollte (erfolgreich getestet), allerdings wird es durch eine Fehlermeldung abgebrochen.
Hier das kompette Script:
if (isset($_POST['senden'])==true)
{
$extlimit = "yes"; //Do you want to limit the extensions of files uploaded
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Extensions you want files uploaded limited to.
$sizelimit = "yes"; //Do you want a size limit, yes or no?
$sizebytes = "1000000"; //size limit in bytes
if($senden){
if($bilddatei!= "") {
if (($sizelimit == "yes") && ($bilddatei_size > $sizebytes)) {
echo "Die Bilddateiname ist zu gross, sie darf mamimal $sizebytes bytes sein.";
}
$ext = strrchr($bilddatei_name,'.');
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Die Bilddateiname hat nicht die richtige Endung.";
}
//Der Ordner images liegt auf dem Server, dort werde die Bilder kopiert.
//falls im images Ordner der Name der Bilddatei schon existiert, dann soll eine Fehlermeldung kommen.
elseif (file_exists("images/$bilddatei_name")) {
echo "Die Bilddateiname existiert bereit. Bitte ändere deine Bilddateiname und versuche es nochmal.";
}
//ansonsten wird die Datei im Ordner images kopiert
else{
copy($bilddatei,"images/$bilddatei_name");
} }//if($bilddatei!= "") {
}//if($senden)
//Daten speichern
$count = "0";
$datum = date("d.m.Y");
$guestfile="../data/news.csv";
$auswahl=$_POST["namen"];
$bild01 = $bilddatei;
$bild02 = "0";
$bild03 = "0";
$bild04 = "0";
$bild05 = "0";
$bild06 = "0";
$bild07 = "0";
$bild08 = "0";
$bild09 = "0";
$bild10 = "0";
if(file_exists($guestfile)){
$datei=fopen($guestfile,"r");
$guest_data=fread($datei,filesize($guestfile));
fclose($datei);
}
$datei=fopen($guestfile,"w");
flock($datei,1);
$longtext = str_replace("n", "<br>", $langtext);
fputs($datei,"$head|$kurztext|$langtext|$datum|$bild01|$bild02|$bild03|$bild04|$bild 05|$bild06|$bild07|$bild08|$bild09|$bild10|$countn");
if (isset($guest_data));
fputs($datei,$guest_data);
flock($datei,3);
fclose($datei);
header("Location:index.php?sent=weiter");
exit;
}
Das Formular sieht folgendermaßen aus.
<form action='xxx.php' method='post'>
<u>Überschrift</u><i><input name='head' class='feld' type='text'></i>
<br><img src='../img/ecblank.gif' height='6'><br>
<u>Kurztext</u><i><input name='kurztext' class='feld' type='text'></i>
<br><img src='../img/ecblank.gif' height='6'><br>
<u>Langtext</u><i><textarea name='langtext' class='feld2'></textarea></i>
<br><img src='../img/ecblank.gif' height='6'><br><br><br><br><br><br><br>
<u>1. Bild</u><i><input type='file' name='bilddatei' value='durchsuchen'></i><br><br><br>
<input type='submit' class='submitx' NAME='senden' VALUE='SENDEN'>
</form>
Ich bekomme folgende Meldung:
"Die Bilddateiname hat nicht die richtige Endung."
Meiner Meinung hat das was mit meiner Ordnerstruktur zu tun, verrückterweise sind die Ordner vorhanden.
Und die Schreibweisen sind richtig.
1. Muss man bei der Ordnerstruktur etwas beachten, als nur den richtigen Pfad?
2. In welcher Variable finde ich den Dateinamen? (Hab mir das schon mal mit echo ausgeben lassen, leider ist der Dateiname nirgendwo vorhanden)
3. Wie kann ich das Script so umstellen, dass ich mehrere Uploads realisieren kann?
Gruß thorben.