Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung PHP

Mitglied: xcabur

xcabur (Level 1) - Jetzt verbinden

27.08.2007 um 22:15 Uhr, 3480 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
gelöst Übergabe Formularinhalte an externes PHP Script (15)

Frage von schneerunzel zum Thema PHP ...

Backup
gelöst Backupplanung mit VEEAM und FC Tape Library (12)

Frage von Leo-le zum Thema Backup ...

Neue Wissensbeiträge
Notebook & Zubehör

WOL bei HP Notebooks

(6)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Windows 10
Netzwerkkarte schaltet sich erst nach dem Logon ein (23)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (18)

Frage von Yaimael zum Thema Windows Server ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (16)

Frage von Spitzbube zum Thema Netzwerke ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...