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, 3546 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 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
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

Ü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
Apple

Apple aktualisiert MacBook Pro, mit bis zu sechs Kernen

Information von Vision2015 vor 2 TagenApple

Jawohlchen das Warten hat sich gelohnt :-) Apple aktualisiert MacBook Pro Frank

Verschlüsselung & Zertifikate

In-place Upgrade verschlüsselter Windows-Systeme mittels reflectdrivers

Tipp von DerWoWusste vor 3 TagenVerschlüsselung & Zertifikate1 Kommentar

Hinter diesem sperrigen Titel verbirgt sich die Info, dass offenbar seit Win10 v1607 im Windows-Setup (setup.exe der CD/des USB-Sticks) ...

Instant Messaging
Ejabberd auf ubuntu
Anleitung von horstvogel vor 4 TagenInstant Messaging

Anliegend erstelle ich eine Anleitung für die Installation eines ejabberd auf einem Ubuntu Server. Die Anleitung ist derzeit noch ...

Windows Server

Fehler in MMC "Zertifizierungsstelle" - Hieroglyphen

Tipp von emeriks vor 4 TagenWindows Server2 Kommentare

Hi, nichts weltbewegendes, nur als Info für Euch. Bin eben drüber gestolpert: Setup 1x Windows Server 2016 Datacenter Core ...

Heiß diskutierte Inhalte
Microsoft
Dringend: Nach neustart kein zugriff mehr per RDP möglich - vermutlich wegen gelöschter SID in AD
gelöst Frage von sven784230Microsoft21 Kommentare

Hallo zusammen, gerade hat ein Server 2012 (terminalserver + Active directory) einen geplanten Neustart durchgeführt, wenn ich mich jetzt ...

Hardware
Alte Hardware verkaufen
Frage von Lebowski23Hardware19 Kommentare

Hallo, durch größere Umbauten haben einiges an Hardware "rumliegen", die wir vielleicht noch verkaufen wollen. Es sind so ca. ...

Exchange Server
Exchange 2013 - Update schlägt fehlt
Frage von chb1982Exchange Server18 Kommentare

Hallo zusammen, kann sich jemand einen Reim auf die unten stehenden Fehlermeldung machen? Sie tritt auf beim Update von ...

Windows Server
Active Directory Probleme DC sieht sich nicht selbst als DC DNS Fehler?
Frage von Cisco7971Windows Server12 Kommentare

Moin zusammen, Angefangen hat die Suche damit, dass der Anmeldedienst immer angehalten wird, bei einem Neustart des DC. nach ...