ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
184
184
EMPFEHLEN
-
Hallo,
ich habe ein Formular über das ich Name und Bild hochlade.
Was auch super klappt.
Ich möchte nun, das das Bild den Selben Namen hat, wie der Name im Formfeld "Name" ! (komischer Satz)
so sieht das Script für den upload des Bildes aus:
Die beiden Formfelder so:PHP-Code:// Grundeinstellungen festlegen
$pref_device = "data/"; // Uploadpfad (absolut) vom Root aus gesehen
$pref_maxsize = 3024*3024; // Maximale Dateigroesse in Bytes (KB x 1024)
$max_x = 1024; // maximale bildbreite in px
$max_y = 1024; // maximale bildhoehe in px
$pref_maxlength = 40; // Maximale Laenge des Dateinamens inklusive Dateiendung
if (isset($_FILES['userpic'])) {
$filename = $_FILES['userpic']['name'];
$file = $_FILES['userpic']['tmp_name'];
#################################################################
### dateigröße anpassen ###
// bild verkleinern, wenn zu groß
$tmpfile[1] = $file;
for($i=1;;$i++){
$file_size = filesize($tmpfile[$i]);
if($file_size > $pref_maxsize){
$tmpfile[$i+1] = tempnam($pref_device, $filename.'_'.$i);
// bildinfo
$picnfo = GetImageSize($tmpfile[$i]);
$new_width = $picnfo[0] / 20 * 19;
$new_height = $picnfo[1] / 20 * 19;
// leeres bild erzeugen
$destimg = ImageCreateTrueColor($new_width, $new_height) or die("problem in creating empty image");
// temp. bild einlesen
switch ($picnfo[2]) {
case 1:
$srcimg = ImageCreateFromGIF($tmpfile[$i]) or die("Problem In opening Source Image");
break;
case 2:
$srcimg = ImageCreateFromJPEG($tmpfile[$i]) or die("Problem In opening Source Image");
break;
case 3:
$srcimg = ImageCreateFromPNG($tmpfile[$i]) or die("Problem In opening Source Image");
break;
default:
die ("extension not supported. only jpg, jpeg, gif and png!");
}
// verkleinertes temp. bild ins leere bild kopieren
ImageCopyResized($destimg, $srcimg, 0, 0, 0, 0, $new_width, $new_height, $picnfo[0], $picnfo[1]) or die("Problem In resizing");
// speichern
switch ($picnfo[2]) {
case 1:
ImageGIF($destimg,$tmpfile[$i+1]) or die("Problem In outputting");
break;
case 2:
ImageJPEG($destimg,$tmpfile[$i+1],100) or die("Problem In outputting");
break;
case 3:
ImagePNG($destimg,$tmpfile[$i+1]) or die("Problem In outputting");
break;
}
// temp datei löschen
unlink ($tmpfile[$i]);
}
else{
break;
}
}
$picnfo = GetImageSize($tmpfile[$i]);
### bildmaße anpassen ###
// neue ausmaße berechnen, falls zu groß
if ($picnfo[0] > $max_x){
$newwidth = $max_x;
$resize = true;
}
else{
$newwidth = $picnfo[0];
$resize = false;
}
$newheight = round($picnfo[1] / $picnfo[0] * $newwidth);
if ($newheight > $max_y) {
$newheight = $max_y;
$newwidth = round($newheight * $picnfo[0] / $picnfo[1]);
$resize = true;
}
if ($resize == true){
// neue temp datei anlegen
$tmpfile[$i+1] = tempnam($pref_device, $filename.'_'.$i);
// leeres bild erzeugen
$destimg = ImageCreateTrueColor($newwidth,$newheight) or die("Problem In Creating image");
// temp. bild einlesen
switch ($picnfo[2]) {
case 1:
$srcimg = ImageCreateFromGIF($tmpfile[$i]) or die("Problem In opening Source Image");
break;
case 2:
$srcimg = ImageCreateFromJPEG($tmpfile[$i]) or die("Problem In opening Source Image");
break;
case 3:
$srcimg = ImageCreateFromPNG($tmpfile[$i]) or die("Problem In opening Source Image");
break;
default:
die ("extension not supported. only jpg, jpeg, gif and png!");
}
// verkleinertes temp. bild ins leere bild kopieren
ImageCopyResized($destimg,$srcimg,0,0,0,0,$newwidth,$newheight,$picnfo[0],$picnfo[1]) or die("Problem In resizing");
// speichern
switch ($picnfo[2]) {
case 1:
ImageGIF($destimg,$tmpfile[$i+1]) or die("Problem In outputting");
break;
case 2:
ImageJPEG($destimg,$tmpfile[$i+1],100) or die("Problem In outputting");
break;
case 3:
ImagePNG($destimg,$tmpfile[$i+1]) or die("Problem In outputting");
break;
}
// temp datei löschen
unlink ($tmpfile[$i]);
$i++;
}
$usertmpfile = $tmpfile[$i];
$verkleinerungen = $i - 1;
#################################################################
// Daten entsprechend Grundeinstellungen ueberpruefen
// Sonderzeichen bearbeiten
$filename = strtr($filename, "ÄÖÜäöü", "AOUaou"); // Deutsche Umlaute umwandeln
$filename = strtr($filename, "ß", "s"); // SZet umwandeln
$filename = str_replace(" ","_",$filename); // Leerzeichen durch _ ersetzen
// Dateiname zu lang?
if (strlen($filename) > $pref_maxlength) die ("Der Dateiname ist zu lang! Maximal $pref_maxlength Zeichen erlaubt!");
// Datei existiert bereits? Umbenennen!
if (file_exists($pref_device.$filename)) {
$ext = substr(strrchr($filename,"."),1);
for ($i = 1;;) {
$filename = str_replace ('.'.$ext, '', $filename);
$filename .= '_'.$i.'.'.$ext;
if (!file_exists($pref_device.$filename)) break;
else {
$filename = str_replace ('_'.$i.'.'.$ext, '', $filename);
$filename = $filename . '.'.$ext;
$i++;
}
}
}
// Datei in Zielverzeichnis verschieben und CHMOD auf 604 setzen
copy ($usertmpfile,$pref_device.$filename);
// temp datei löschen
unlink ($usertmpfile);
chmod($pref_device.$filename, 0604);
Ich hoffe es kann jemand helfen ..HTML-Code:<tr> <td bgcolor="#763232"><span class="Bbody2">Name</span></td> <td bgcolor="#9e6d6d"><input name="name" type="text" maxlength="16" size="20"></td> </tr> <tr> <td bgcolor="#763232"><span class="Bbody2">Screen</span></td> <td bgcolor="#9e6d6d"><input name="userpic" type="file" size="20"></td> </tr>

danke
-
Verstehe dein Anliegen nicht. Du gibst der Datei doch schon einen anderen Namen:
http://de3.php.net/manual/de/function.copy.phpPHP-Code:// Datei in Zielverzeichnis verschieben und CHMOD auf 604 setzen
copy ($usertmpfile,$pref_device.$filename);
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
01.02.09 12:35 #3
Statt copy() solltest du übrigens lieber auf move_uploaded_file() zurückgreifen, dafür wurde sie schließlich gemacht
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
Ähnliche Themen
-
Bildupload
Von Lektor21 im Forum PHPAntworten: 9Letzter Beitrag: 21.02.08, 13:09 -
Bildupload
Von wowe58 im Forum PHPAntworten: 9Letzter Beitrag: 18.11.04, 17:50 -
Bildupload
Von 2Pac im Forum PHPAntworten: 5Letzter Beitrag: 09.06.03, 11:19 -
Bildupload
Von MSuter im Forum ASPAntworten: 1Letzter Beitrag: 06.03.03, 12:13 -
Bildupload
Von Zipper02 im Forum PHPAntworten: 5Letzter Beitrag: 10.01.03, 13:30





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren