Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Bilder Upload mit automatischer Größenanpassung funktioniert nicht

Frage Entwicklung PHP

Mitglied: 46356

46356 (Level 2)

04.11.2007, aktualisiert 12:53 Uhr, 3768 Aufrufe, 4 Kommentare

Guten Tag!

Ich habe hier ein PHP Script, der auch funktioniert, wenn ich die Datei genau angebe (bla.jpg). Dann wird diese Datei auf eine bestimmte Größe angepasst und in einem Ordner gespeichert.
Nun habe ich versucht ein Upload Formular dazu zu schreiben. Leider funkionierts dann nicht mehr!

Hier mein Code (Datei heißt upload3.php):

01.
<form action="upload3.php" method="post" enctype="multipart/form-data">  
02.
<input type="file" name="datei"><br> 
03.
<input type="submit" value="Hochladen">  
04.
</form> 
05.
 
06.
<?php 
07.
$Grafikdatei = $_POST['datei']; 
08.
$Bilddaten = getimagesize($Grafikdatei); 
09.
 
10.
$OriginalBreite = $Bilddaten[0]; 
11.
$OriginalHoehe = $Bilddaten[1]; 
12.
$ThumbnailBreite = 123; 
13.
 
14.
if($OriginalBreite < $ThumbnailBreite) 
15.
16.
    $ThumbnailBreite=$OriginalBreite; 
17.
18.
 
19.
$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite; 
20.
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor); 
21.
 
22.
if($Bilddaten[2] == 1) 
23.
24.
    $Originalgrafik = ImageCreateFromGIF($Grafikdatei); 
25.
    $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe); 
26.
    ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe); 
27.
    ImageGIF($Thumbnailgrafik, "thumb_".$Grafikdatei); 
28.
29.
elseif($Bilddaten[2] == 2) 
30.
31.
    $Originalgrafik = ImageCreateFromJPEG($Grafikdatei); 
32.
    $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe); 
33.
    ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe); 
34.
    ImageJPEG($Thumbnailgrafik, "thumb_".$Grafikdatei); 
35.
36.
elseif($Bilddaten[2] == 3) 
37.
38.
    $Originalgrafik = ImageCreateFromPNG($Grafikdatei); 
39.
    $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe); 
40.
    ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe); 
41.
    ImagePNG($Thumbnailgrafik, "thumb_".$Grafikdatei); 
42.
43.
 
44.
echo"<img src=\"thumb_", 
45.
    $Grafikdatei, 
46.
    "\">"; 
47.
 
48.
?> 
49.
</form> 
50.
</body> 
51.
</html> 
52.
 
Was ist da falsch?

Und hat vielleicht noch jemand eine Idee, wieso schon vor dem Absenden der Datei eine Fehlermeldung kommt oder wie ich diese wegbekomme?

01.
Warning: Division by zero in /usr/export/www/vhosts/funnetwork/hosting/browserfish/test/upload3.php on line 19 
02.
 
03.
Warning: Division by zero in /usr/export/www/vhosts/funnetwork/hosting/browserfish/test/upload3.php on line 20
Danke und einen schönen Sonntag, Alexander Breuss
Mitglied: Dani
04.11.2007 um 11:46 Uhr
Hallo Alex,
die Fehlermeldung beschreibt dein Problem doch schon. Zeile 19 und 20 können nicht geparst werden, weil eine Division mit 0 nicht möglich ist.

Zeile 19 und 20:
01.
$Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite; 
02.
$ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);
Einfach alle Variablen mit "Echo" mal ausgeben. Dann siehst du ja, welche es ist.


Grüße
Dani
Bitte warten ..
Mitglied: 46356
04.11.2007 um 11:52 Uhr
Hallo Dani

Danke für deine Antwort!
Aber wieso kommt der Fehler bevor ich die Daten überhaupt absende?

Alex
Bitte warten ..
Mitglied: Dani
04.11.2007 um 12:26 Uhr
Tja....eigentlich solltest du das Wissen, wenn du PHP programmierst. Den Grund kannst du hier nachlesen.


Grüße
Dani
Bitte warten ..
Mitglied: EvilMoe
04.11.2007 um 12:53 Uhr
Weil getimagesize doch erst die Daten auslesen kann wenn das Formular abgesendet wurde. Vorher existieren die Variablen nicht und es kommt zu den Fehler. Funktionsweise siehst du bei Danis Link.

EDIT: Bau ein isset($_POST['datei']) ein und packe alles hinter die Abfrage rein dann gibts keine Probleme mehr ;)
Bitte warten ..
Ähnliche Inhalte
Windows Tools
Automatischer FTP-Upload ohne angemeldeten Benutzer (5)

Frage von SarekHL zum Thema Windows Tools ...

Windows Netzwerk
WOL funktioniert - geht aber auch automatisch an. wieso? (24)

Frage von freeuser616 zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Skript für: Automatisch generierte CSV Datei (3)

Frage von janelsaesser zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Router & Routing
FTTH bzw FTTB Router (13)

Frage von ukulele-7 zum Thema Router & Routing ...