Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PHP und GD-Library Script

Mitglied: xcabur

xcabur (Level 1) - Jetzt verbinden

27.08.2007 um 22:15 Uhr, 3575 Aufrufe

Thumbnail on the Fly

Hallo zusammen

Ok, entweder stimmt was mit meinem Webserver nicht oder mir steht etwas gewaltiges auf der Leitung. Hab hier ein Script um thumbnails on the fly zu erzeugen aber irgendiwe will dies nicht und ich weiss nicht wieso.

Also ich habe eine thumb.php mit folgendem inhalt:

01.
 
02.
<?php
03.
 
04.
     /*##############################################
05.
     #          - Thumbnail-Script v1.3 -           #
06.
     # Generating thumbnails 'on-the-fly' with PHP  #
07.
     #                                              #
08.
     #  (c) by Christian Lamine, FlashDreams OHG    #
09.
     #          http://www.flashdreams.de/          #
10.
     #                                              #
11.
     # This script may be freely used, distributed  #
12.
     # and modified without any charge as long as   #
13.
     # this copyright information is included.      #
14.
     #                                              #
15.
     # Any commercial selling of this script is     #
16.
     # prohibited.                                  #
17.
     #                                              #
18.
     # The author is not responsible for possible   #
19.
     # damage which may result from the application #
20.
     # of this script, neither direct nor indirect. #
21.
     # Use at your own risk!                        #
22.
     ##############################################*/
23.
 
24.
     error_reporting(0);
25.
 
26.
     $types = array (1 => "gif", "jpeg", "png", "swf", "psd", "wbmp");
27.
 
28.
     define ('cache', 'cache/');
29.
 
30.
     $cachedir = substr($HTTP_GET_VARS['image'],0,strrpos($HTTP_GET_VARS['image'],'/') + 1).cache;
31.
     !is_dir ($cachedir)
32.
          ? mkdir ($cachedir, 0777)
33.
          : system ("chmod 0777 ".$cachedir);
34.
 
35.
     (!isset ($x) || ereg ('^[0-9]{1,}$', $x, $regs)) &&
36.
     (!isset ($y) || ereg ('^[0-9]{1,}$', $y, $regs)) &&
37.
     (isset ($x) || isset ($y))
38.
          ? true
39.
          : DIE ('Fehlende(r) oder ungültige(r) Größenparameter!');
40.
 
41.
     !isset ($resize) || !ereg ('^[0|1]$', $resize, $regs)
42.
          ? $resize = 0
43.
          : $resize;
44.
 
45.
     !isset ($aspectratio) || !ereg ('^[0|1]$', $aspectratio, $regs)
46.
          ? isset ($x) && isset ($y)
47.
                 ? $aspectratio = 1
48.
                 : $aspectratio = 0
49.
          : $aspectratio;
50.
 
51.
     !isset ($image)
52.
          ? DIE ('Es wurde kein Bild angegeben!')
53.
          : !file_exists($image)
54.
               ? DIE ('Die angegebene Datei konnte nicht auf dem Server gefunden werden!')
55.
               : false;
56.
 
57.
     $imagedata = getimagesize($image);
58.
 
59.
     !$imagedata[2] || $imagedata[2] == 4 || $imagedata[2] == 5
60.
          ? DIE ('Bei der angegebenen Datei handelt es sich nicht um ein Bild!')
61.
          : false;
62.
 
63.
     eval ('
64.
     if (!(imagetypes() & IMG_'.strtoupper($types[$imagedata[2]]).')) {
65.
          DIE ("Das ".strtoupper($types[$imagedata[2]])."-Format wird nicht unterstützt!");
66.
     }
67.
     ');
68.
 
69.
     !isset ($x)
70.
          ? $x = floor ($y * $imagedata[0] / $imagedata[1])
71.
          : $x;
72.
 
73.
     !isset ($y)
74.
          ? $y = floor ($x * $imagedata[1] / $imagedata[0])
75.
          : $y;
76.
 
77.
     if ($aspectratio && isset ($HTTP_GET_VARS['x']) && isset ($HTTP_GET_VARS['y'])) {
78.
          if ($imagedata[0] > $imagedata[1]) {
79.
               $y = floor ($x * $imagedata[1] / $imagedata[0]);
80.
          } else if ($imagedata[1] > $imagedata[0]) {
81.
               $x = floor ($y * $imagedata[0] / $imagedata[1]);
82.
          }
83.
     }
84.
 
85.
     $thumbfile = substr ($HTTP_GET_VARS['image'], strrpos ($HTTP_GET_VARS['image'], '/') + 1);
86.
     if (file_exists ($cachedir.$thumbfile)) {
87.
          $thumbdata = getimagesize ($cachedir.$thumbfile);
88.
          $thumbdata[0] == $x && $thumbdata[1] == $y
89.
               ? $iscached = true
90.
               : $iscached = false;
91.
     } else {
92.
          $iscached = false;
93.
     }
94.
 
95.
     if (!$iscached) {
96.
          ($imagedata[0] > $x || $imagedata[1] > $y) ||
97.
          (($imagedata[0] < $x || $imagedata[1] < $y) && $resize)
98.
               ? $makethumb = true
99.
               : $makethumb = false;
100.
     } else {
101.
          $makethumb = false;
102.
     }
103.
 
104.
     Header ("Content-Type: image/".$types[$imagedata[2]]);
105.
 
106.
     if ($makethumb) {
107.
          $image = call_user_func("imagecreatefrom".$types[$imagedata[2]], $image);
108.
          $thumb = imagecreate ($x, $y);
109.
          imagecopyresized ($thumb, $image, 0, 0, 0, 0, $x, $y, $imagedata[0], $imagedata[1]);
110.
          call_user_func("image".$types[$imagedata[2]], $thumb, $cachedir.$thumbfile);
111.
          imagedestroy ($image);
112.
          imagedestroy ($thumb);
113.
          $image = $cachedir.$thumbfile;
114.
     } else {
115.
          $iscached
116.
               ? $image = $cachedir.$thumbfile
117.
               : $image = $HTTP_GET_VARS['image'];
118.
     }
119.
     $image = fopen ($image, "rb");
120.
     fpassthru ($image);
121.
     fclose ($image);
122.
 
123.
?>
und dann eine test.html datei, welche ich auch aufrufe mit folgendem inhalt

01.
 
02.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
03.
<html xmlns="http://www.w3.org/1999/xhtml">
04.
<head>
05.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
06.
<title>Unbenanntes Dokument</title>
07.
</head>
08.
 
09.
<body>
10.
 
11.
<img src="thumb.php?image=auto.jpg&x=100">
12.
 
13.
</body>
14.
</html>
15.
 

Ich verwende XAMPP 2.1 (muss ich das noch was aktivieren?)
die test.html, die thumb.php und auto.jpg liegen alle im selben verzeichnis. Jedoch bekomme ich einfach nur ein rotes kreuz auf der website, welches mir anzeigt, dass das Bild nicht verfügbar ist. Als bildadresse steht dann "http://pcxpvmw01/woa/thumb.php?image=auto.jpg&x=100"

Was ich sehe, ist das ein cache ordner erstellt wird, jedoch ohne inhalt!


Weiss jemand was ich falsch mache?
Ähnliche Inhalte
PHP
PHP Script zum Daten auslesen gesucht
Frage von majas3PHP2 Kommentare

Hallo, ich habe viele taußend HTML Seiten in verschiedenen Verzeichnissen und bin auf der Suche nach einem PHP Script ...

PHP
PHP-Script um Online zu zippen
Frage von sbsnewbiePHP3 Kommentare

Hallo Admins, folgende Frage, die bestimmt easy ist, bei der ich aber gerade ein Brett vor dem Kopf habe: ...

PHP

Übergabe Formularinhalte an externes PHP Script

gelöst Frage von schneerunzelPHP15 Kommentare

Hallo zusammen, ich habe heute eine relativ außergewöhnliche Frage: Und zwar geht es um folgendes: Ich habe für eine ...

PHP

Magento PHP Script um Kategorieeinstellungen zu ändern

Frage von sbsnewbiePHP1 Kommentar

Moin Leude, folgende Frage: Ich müsste die Einstellungen jeder Kategorie in meinem Magentoshop ändern. Jede Kategorie soll die Einstellungen ...

Neue Wissensbeiträge
Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 19 StundenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 4 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 4 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 6 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Windows Server
Einziger Domänencontroller ersetzen - Windows Server 2012R2 - Hostname
Frage von DeRo93Windows Server29 Kommentare

Guten Tag, Leider haben wir einen Domänencontroller dessen Komponentenspeicher defekt ist. Alle Maßnahmen sind da leider fehlgeschlagen. Nun wurde ...

Server-Hardware
WS 2016 Essentials Hardware
Frage von ChefknechtServer-Hardware20 Kommentare

Moin welche Hardware würdet ihr empfehlen? Dell Poweredge HP Proliant Fujitsu Ich bin total konfus was nun nötig ist, ...

Windows Update
Fehler bei Updates über WSUS
Frage von Hendrik2586Windows Update19 Kommentare

Guten Tag liebe Kolleginen und Kollegen, lang lang ist meine letzte Anfrage her. Hier etwas das mich nun schon ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server18 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...