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

Bilder Upload mit automatischer Größenanpassung funktioniert nicht

Mitglied: 46356

46356 (Level 2)

04.11.2007, aktualisiert 12:53 Uhr, 3820 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
Netzwerkprotokolle

Filezilla bat Upload funktioniert nicht CMD

gelöst Frage von iAmbrickstaNetzwerkprotokolle10 Kommentare

Hallo Community, glaube ich stehe echt mega auf dem Schlauch ! habe mir mal ne kleine Test FTP Umgebung ...

Windows Server

FTP Upload funktioniert nicht 0 Bytes

gelöst Frage von Mendo28Windows Server7 Kommentare

Hallo zusammen, Ich kann auf einem FTP Server keine Dateien hochladen. (Beim hochladen kommt danach die Aufforderung die Datei ...

Entwicklung

Google Bildersuche mit Bild-Upload per Skript benutzen und URLs auslesen

gelöst Frage von Jens4everEntwicklung3 Kommentare

Moin zusammen, folgende Situation: Wie könnte man Bilder in einem Ordner nach und nach automatisiert per Sktipt zu Google ...

PHP

Bilder upload, automatisch resizen und URL in PHPBB einfügen

Frage von HenerePHP

Hallo zusammen, ich betreibe ja ein Motorradforum welches in Kürze auf PHPBB umziehen soll. Wir hatten bis jetzt unter ...

Neue Wissensbeiträge
Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 1 StundeExchange Server

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 14 StundenLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 2 TagenWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 3 TagenInternet6 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless17 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

LAN, WAN, Wireless
Bekannte Drosselungen bei Providern ?
Frage von HenereLAN, WAN, Wireless15 Kommentare

Servus zusammen, in bereits angefangen, aber ich hoffe dass der Beitrag hier mehr Informationen bringt. Sind Portdrosselungen bzw gezielte ...

Netzwerkmanagement
Reverse Proxy für TCP und UDP Anfragen
gelöst Frage von flxklsNetzwerkmanagement14 Kommentare

Hallo zusammen, ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da ...

Windows Server
MSSQL Backup in Form von .sql einspielen
Frage von janosch12Windows Server14 Kommentare

Guten Morgen, wir verwenden das Tool SQLandFTPBackup ( ) zum sichern einiger MSSQL Datenbanken. Nun sichert das Toll die ...