Guten Tag,
zuerst einmal muss ich sagen, ich bin neu hier Und beschäftige mich mit PHP schon seit längerer Zeit, aber in den letzen Wochen/Tagen relativ intensiv. Darauf aufbauen habe ich eine Frage, da mir für vollgendes Vorhaben die nötigen Kenntnisse fehlen... Also:
Ich habe ein Script geschrieben mit dem ich eine Datei (JPG, PNG, GIF,...) auf den Webspace laden kann, dort wird das Bild in zwei Ordnern gespeichert (BackUp) in dem einem Ordner bleibt der Name des Bildes unverändert und im anderen wird ein von mir selbst gewählter Grundname (automatisch) gegen die orginale Bezeichnung ausgetauscht, z.B. Bild_12XXXX die letzten Ziffern (X) sind zufällig gewählt damit keine Bilder in doppelter Ausführung vorhanden sind. Das ist meine Grundlage die ich bis jetzt habe.
Mein Vorhaben war jetzt diese Bilder nach dem Hochladen auf der Index Seite in einer Art jQuery-Flexslider oder ähnlichem unmittelbar nach einer Bestätigung (wegen Copyright, etc.) einzubinden, so dass man eben nicht alle Bilder manuell im Code einfügen muss, da dies bei hunderten von Dateien vorstellbar nervig sein kann. Selbst verständlich verlange ich keinen gesamten Code von euch, sondern nur Ansätze oder andere Vorschläge, da ich hier mit meinem Latein am Ende bin... Habe schon die ein oder anderen Ideen meiner Seits versucht umzusetzen, kam aber nie du dem was ich unter dem Aspekt vorgestellt habe... Prinzipiell sollen die neu hochgeladenen Daten einfach nur direkt verarbeitet werden, wie weiß ich dann leider nicht
Anhängend einmal der Upload Code, falls er was bringt:-D:
<h1>Upload | <?php echo $_SESSION['username']; ?></h1>
<?php
define ("WIDTH","2000");
define ("HEIGHT","1000");
define ("MAX_SIZE","5000");
function make_thumb($img_name,$filename,$new_w,$new_h)
{
$ext=getExtension($img_name);
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);
if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);
imagedestroy($dst_img);
imagedestroy($src_img);
}
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$errors=0;
if(isset($_POST['Submit']))
{
$image=$_FILES['image']['name'];
if ($image)
{
$filename = stripslashes($_FILES['image']['name']);
$extension = getExtension($filename);
$extension = strtolower($extension);
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Bitte nur im JPG, JPEG oder PNG Format.</h1>';
$errors=1;
}
else
{
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);
if ($sizekb > MAX_SIZE*5000)
{
echo '<h2>Bitte lade ein kleineres Bild hoch max 5MB</h2>';
$errors=1;
}
$id=time().'.'.$extension;
$newname="Uploads/".$id;
$copied = copy($_FILES['image']['tmp_name'], $newname);
if (!$copied)
{
echo '<h2>Hochladen fehlgeschlagen!</h2>';
$errors=1;
}
else
{
$thumb_name='Uploads/User/bild_'.$id;
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}
if(isset($_POST['Submit']) && !$errors)
{
echo "<h2>Hochladen erfolgreich!</h2>";
Alles anzeigen
Mit freundlichen Grüßen, Caspey