melistik
Erfahrenes Mitglied
nabend,
Ich habe ein kleines Script geschrieben, womit man
JPG-Datein hochladen kann und automatisch zu diesen dann ein Thumb erstellt wird.
Es klappt auch bei vielen Bildern, doch leider nicht bei allen
Nun wollte ich fragen, wie ich das änderen kann oder geht soetwas garnet,
dass es immer klappt .... Es scheint etwas mit der JPG Konvertierung zu tun glaube ich.
Das Komische ist, dass man auch aus Einigen nicht die Größe errechenen kann ...
hier ein Link zum Script damit man sich das vrostellen kann...hier...
der Code ->
----------------------------------------------------------------------------------------------------
Gibt es sonst noch eine Andere hierfür bessere Bibliothek ? anstelle von GD
Ich habe ein kleines Script geschrieben, womit man
JPG-Datein hochladen kann und automatisch zu diesen dann ein Thumb erstellt wird.
Es klappt auch bei vielen Bildern, doch leider nicht bei allen
Nun wollte ich fragen, wie ich das änderen kann oder geht soetwas garnet,
dass es immer klappt .... Es scheint etwas mit der JPG Konvertierung zu tun glaube ich.
Das Komische ist, dass man auch aus Einigen nicht die Größe errechenen kann ...
hier ein Link zum Script damit man sich das vrostellen kann...hier...
der Code ->
PHP:
<?
$template = "template.html";
$absolute_path = "/www/htdocs/v085124/files/imagetest/pics"; //Absolute Pfad
$PicPathIn="http://www.ppone.net/files/imagetest/pics/";
$PicPathOut="/www/htdocs/v085124/files/imagetest/pics/thumb/";
$PicPath = "http://www.ppone.net/files/imagetest/pics/thumb/";
$pictyp = array (".jpg",".JPG",".jpeg",".JPEG");
$perpage = 3;
$sizelimit = "no"; //Size Limit?
$sizebytes = "200000"; //Size in Bytes
$dir = "dir";
$quali = "100"; //Quali in % aber ohne % hinschreiben =)
$thumbmax = 200;
// Funktionen Anfang ....
function showpic ($name,$PicPath,$hoehe,$breite) {
if (($breite > 1024) OR ($hoehe > 768)) {
echo "<a target='_blank' href='$PHP_SELF?db=pic&picname=$name'><img src=$PicPath$name></a>";
}
else {
echo "<a href='$PHP_SELF?db=pic&picname=$name'
target='neuesfenster'
onclick=\"window.open('','neuesfenster','top=2,screenX=2,left=2,screenY=2,height=$hoehe,width=$breite,status=yes')\">
<img src=$PicPath$name></a><br><br>";
}}
function pages ($page,$seiten){
echo "<center><br>";
if ($page>1) {
$i=$page-1;
echo "<A HREF='$PHP_SELF?page=$i'><back</A> ";
}
for ($i=1; $i<=$seiten; $i++) {
if ($i==$page) {
echo "<A HREF='$PHP_SELF?page=$i'><b>$i</b></A> ";
} else {
echo "<A HREF='$PHP_SELF?page=$i'>$i</A> ";
} }
if ($page<$seiten) {
$i=$page+1;
echo "<A HREF='$PHP_SELF?page=$i'>next></A>";
}
echo "</center>";
}
if (! isset($page))
{ $page = 1;}
// Funktionen Ende ....
// Anfang der Anzeige ....
if ((!isset ($db)) OR ($db=="")) {
$open_template = fopen ($template, "r");
$temp = fread($open_template, filesize($template));
$temp = ereg_replace("{post}","$PHP_SELF?db=post",$temp);
$temp = stripslashes($temp);
// öffnen des Folders
$fp = @opendir($absolute_path);
// auslesen der Bilder
while ($file = readdir($fp))
{
$ext = strrchr($file,'.');
if (in_array($ext,$pictyp)) {
$name[] = $file;
$size=getimagesize("$PicPathIn"."$file");
$breite[] = $size[0];
$hoehe[] = $size[1];
}
}
@closedir($fp);
$seiten = ceil ((sizeof($name)) / $perpage);
//Anzeige der Bilder
$total = sizeof($name) ;
//ForSchleife mit Ausgabe
$picnumber = 1;
for ($i = (($total-1) - ($perpage*($page-1))); $i >= ($total - (($perpage*$page)));$i--) {
$showpic = "";
if ((($breite[$i]) >= 1024) OR (($hoehe[$i]) >= 768)){
$showpic = "<a target='_blank' href='$PHP_SELF?db=pic&picname=$name[$i]'><img border='0' src=$PicPath$name[$i]></a>";
}
//bei einigen kann man nicht immer Aulesen ....
else if ((($breite[$i]) == "") OR (($hoehe[$i]) == "")){
$showpic = "<a target='_blank' href='$PHP_SELF?db=pic&picname=$name[$i]'><img border='0' src=$PicPath$name[$i]></a>";
}
else {
$showpic = "<a href='$PHP_SELF?db=pic&picname=$name[$i]'
target='neuesfenster'
onclick=\"window.open('','neuesfenster','top=2,screenX=2,left=2,screenY=2,height=$hoehe[$i],width=$breite[$i],status=yes')\">
<img border='0' src='$PicPath$name[$i]'></a>";
}
if (!isset ($name[$i])) {$showpic = ""; }
$temp = ereg_replace("{pic$picnumber}","$showpic",$temp);
$temp = stripslashes($temp);
$picnumber++;
}
}
if ($db == "post") {
$ext = strrchr($file,'.');
if (!in_array($ext,$pictyp)) {
if (file_exists("$absolute_path/$file_name")) {
die("<center>Datei existiert bereits!</center>");
}
if (($sizelimit == "yes") && ($file_size > $sizebytes)) {
die("<center>Datei ist zu groß. Sie darf nicht größer als $sizebytes bytes sein.</center>");
}
$file_name = str_replace(' ','_',$file_name);
@copy($file, "$absolute_path/$file_name") or die("<center>Konnte nicht upgeloaded werden</center>");
} else {
die("<center>Datei ist kein Unterstützer Bildtyp<br> JPG und PNG sind nur zugelassen ...</center>");
}
header("Location: $PHP_SELF?db=ok&file=$file_name");
}
if ($db == "ok") {
// Orginalbild
$bild = $file;
// Bilddaten ermitteln
$size=getimagesize("$PicPathIn"."$bild");
if ($size[0] < $thumbBreite)
{
$copyfile = $PicPathOut."".$bild;
$original_file =$absolute_path."/".$bild;
copy($original_file , $copyfile);
}
if (( $size[0] >= $thumbmax) OR ($size[1] >= $thumbmax)) {
$factor1 = $size[0] / $thumbmax;
$factor2 = $size[1] / $thumbmax;
if ($factor1 >= $factor2) {$factor = $factor1;} else {$factor = $factor2;}
$thumbHoehe = intval($size[1] / $factor);
$thumbBreite = intval($size[0] / $factor);
$edited = true;
}
if ($edited) {
$src_img = imagecreatefromjpeg($absolute_path."/".$bild);
$dst_img = imagecreatetruecolor($thumbBreite,$thumbHoehe);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $thumbBreite, $thumbHoehe, $breite, $hoehe);
imagejpeg($dst_img, $PicPathOut."".$bild, $quali);
imagedestroy($src_img);
imagedestroy($dst_img);
}}
if ($db == "pic") {
echo "<html><body topmargin='0' leftmargin='0' rightmargin='0' bottommargin='0'>
<img src='$PicPathIn$picname'></body></html>"; }
echo $temp;
pages ($page,$seiten);
?>
----------------------------------------------------------------------------------------------------
Gibt es sonst noch eine Andere hierfür bessere Bibliothek ? anstelle von GD
Zuletzt bearbeitet: