Danke für Eure Tipps, nun aber bin ich auf den verschiedene Seiten mehr oder weniger fündig geworde und habe mir aus mehren Sripts ein funktionsfähiges zusammengestellt und angepaßt. Ich kann jetzt jpg Bilder uploaden und es wird automatisch ein gleichnamiger Thumbnail in einem anderen Pfad gespeichert.
Nun versuche ich schon den genzen Tag das rename hinzubekommen, leider ohner Erfolg. Ich benötige ein weiteres Eingabefeld in den ich eine Namen eingeben kann, so das die Datei vor dem Upload schom temporär umbenannt wird und automatisch auch die Endung jpg erhält ohne das man sie eingeben muss. Diese Eingabe Feld für den Dateinamen soll ein Pflichtfeldsein, sonst Fehlermeldung.
Und wie kann ich den eingegeben Namen an eine andere PHP Datei übergeben. Da ich den Upload in einem POPUP starten will und der dann eingegebene Name in dem vorherigen Formular übergeben werden soll, in dem man dann die restlichen Daten eingibt und es dann absendet.
Die Bilder will ich später als Pfad <img....> zu dem jeweiligen Datensatz anzeige lassen, dies Just for Info.
Hier mein Upload Code:
Code:
<?php
// Absoluter Pfad zum Ordner in den die Datei hochgeladen werden soll.
$pfad = "pictures";
// Soll eine maximale Größe der Datei festgelegt werden ?
$sizeabfrage = "yes";
// Maximale Größe der Datei (Falls $sizeabfrage = "yes" ist)
$filesize = "60000";
// Soll die maximale Größe auch angezeigt werden ?
$sizeanzeige = "no";
// Was für Dateitypen sollen erlaubt sein ?
$extend = "jpg|jpeg";
// Sollen die erlaubten Dateitypen angezeigt werden ?
$extendanzeige = "no";
// Layout
$body = "<body bgcolor=#E2E0E5 text=#000000 link=#FF0000 alink=#FF0000 vlink=#FF0000>";
$font = "<font face=verdana size=2>";
?>
<?php
echo "$body";
echo "$font";
?>
<div align="center">
<?php
$fehler = FALSE;
if ($senden) {
if ($file_name == "") {
echo "
<font color=#FF0000>Es wurde kein Bild ausgewaehlt!</font>";
$fehler = TRUE;
}
if (!$fehler)
if (file_exists("$pfad/$file_name")) {
echo "
<font color=#FF0000>Bildname schon vorhanden!</font>";
$fehler = TRUE;
}
if (!$fehler)
if ($sizeabfrage == "yes") {
if ($file_size > $filesize) {
echo "
<font color=#FF0000>Das Bild ist zu groß (max. 50kb)!</font>";
$fehler = TRUE;
}
}
if (!$fehler)
if (!eregi("($extend)$", $file_name)) {
echo "
<font color=#FF0000>Dieser Dateityp ist nicht erlaubt!</font>";
$fehler = TRUE;
}
if (!$fehler) {
if (copy($file, $pfad."/".$file_name)) {
echo "
<font color=#00FF00>Bild hochgeladen</font>
";
$fehler = FALSE;
}
else {
echo "
<font color=#FF0000>Bild nicht hochgeladen</font>";
$fehler = TRUE;
}
}
}
if ($fehler || !$senden) {
?>
<table align="center">
<form action="<?php $PHP_SELF; ?>" method="post" enctype="multipart/form-data">
Bitte Datei auswaehlen:
<?
if ($sizeanzeige == "yes") {
echo ("Maximale Größe: ".$filesize." Byte");
}
?>
<?
if ($extendanzeige == "yes") {
echo ("Erlaubte Dateitypen: ".$extend);
}
?>
<input type="file" size="30" name="file">
<input type="Submit" name="senden" value="hochladen">
</form>
</table>
<?
}
?>
<?php
// Vergleichen und Thumbs erstellen
// Name des Ordners, in dem die Originale sind:
$folder_scr = "pictures";
// Name des Ordners, in den die Thumbs sollen:
$des_src = "thumbs";
// Max. Ausdehnung der thumb-Datei in x-Richtung
$thumbx = "100";
// Max. Ausdehnung der thumb-Datei in y-Richtung
$thumby = "100";
function mkthumb($img_src, // Dateiname
$img_width, // max. Größe in x-Richtung
$img_height, // max. Größe in y-Richtung
$folder_scr, // Ordner der normalen Bilder
$des_src) // Ordner der Thumbs
{
$image = imagecreatefromjpeg($folder_scr."/".$img_src);
list($src_width, $src_height) = getimagesize($folder_scr."/".$img_src);
if($src_width >= $src_height)
{
$new_image_width = $img_width;
$new_image_height = $src_height * $img_width / $src_width;
}
if($src_width < $src_height)
{
$new_image_height = $img_width;
$new_image_width = $src_width * $img_height / $src_height;
}
$new_image = imagecreatetruecolor($new_image_width, $new_image_height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
imagejpeg($new_image, $des_src."/".$img_src, 100);
}
// Name dieser PHP-Datei
$filename = $_SERVER['PHP_SELF'];
// Verzeichnis wird geöffnet
$verz=opendir($folder_scr);
// Ein Array wird erstellt in dem nachher die Dateien gespeichert werden
$linkl = array ();
while ($file = readdir ($verz))
{
// Mit jeder Datei wird etwas getan. Damit "." und ".." nicht ins Array geschrieben werden, werden sie ausgenommen.
if($file != "." && $file != ".." && $file != $filename)
{
array_push ($linkl, "$file"); // Der Dateiname wird in den Array $linkl geschrieben
}
}
// Anzahl der Dateien im Ordner == Anzahl der Einträge im Array
$anzahl = count($linkl);
// Array wird nach Alphabet sortiert
sort ($linkl);
foreach($linkl as $key => $value)
{
// Überprüfung, ob das thumbnail schon existiert,
if(!file_exists($des_src."/".$value))
{
// erstelle ein thumb
mkthumb($value, $thumbx, $thumby, $folder_scr, $des_src);
}
// echo "<a href=\"".$folder_scr."/".$value."\">[img].$des_src.[/img]</a>"; // Der Wert des Arrays wird ausgegeben
}
// schließe das Verzeichnis:
closedir($verz);
?>
Ich danke Euch schon einmal für Eure hilfe.