| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

17-02-2009, 00:14
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
Problem mit erkennung von Dateityp jpg
Hallo Leute,
vielleicht ist es ja ein bekanntes problem, ich bin jedoch heute das erste mal darauf gestossen.
Und zwar hab ich ein fotoupload für eine gallery realisiert, was soweit alles kein problem war, hab natürlich viel getestet um zu sehen wie gut es funktioniert... dabei ist mir aufgefallen, dass mein upload fotos von einer namenhaften digicam nicht als jpg erkennt...also schon beim prüfen mit
PHP-Code:
if ((($_FILES['meinbild']['type'] == 'image/pjpeg') ||
($_FILES['meinbild']['type'] == 'image/jpeg')) &&
($_FILES['meinbild']['error'] == 0) &&
($_FILES['meinbild']['tmp_name'] != none) &&
($_FILES['meinbild']['name']) &&
($_FILES['meinbild']['size'] > 0))
habe ich festegestellt, dass er mit 'type' deren format nicht erkennt ! ich hab das mal ausgeben lassen, jedoch zeigte mir das array nix... sondern error==1
ich probierte bilder aus dem netz, bilder von meiner digicam usw... alles einwandfrei...aber bilder von dieser cam nahm er nicht... ich weiß nicht woran das liegt... kennt ihr das problem.. und lässt sich das irgendwie meistern?
über tips oder hilfe wäre ich dankbar !
dankeschön für zuhören
Olli
apache ,php5.1.1 , gd2
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

17-02-2009, 00:18
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Re: Problem mit erkennung von Dateityp jpg
Zitat:
Original geschrieben von ways
ich hab das mal ausgeben lassen, jedoch zeigte mir das array nix... sondern error==1
|
Das duerfte wohl wenig mit "namhafter-oder-nicht"-Digicam zu tun haben ...
http://www.php.net/manual/en/feature...oad.errors.php
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

17-02-2009, 00:34
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
Guten Morgen Wahsaga,
was der fehlervode bedeutet war mir klar, problem ist jedoch, dass er keine dateien dieser cam erkennt und deren größe unter dem liegt, was ich z.b von meiner cam getestet habe
meine bilder waren 2 mb gross, die bilder die nicht wollten nur 1,7 MB
sollt eich testweise das $_SERVER['CONTENT_LENGTH'] verwenden ?
hab ich noch nich im einsatz gehabt
jedenfalls schon mal danke für ne antwort zu dieser uhrzeit
gruss
Olli
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

17-02-2009, 00:38
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Na ja, wenn print_r($_FILES) nur den Errorcode liefert und sonst nichts, dann wuerd' ich das mal glauben.
(Eine Dateigroesse auf Platte sagt ja auch wenig aus. Zum Upload werden die Daten Base64 kodiert, und das wird dann auch was mehr.)
Wenn nicht - du hast ja gleich mehrere Ueberpruefungen in deinem Script verknuepft, dann wuerd' ich erst mal herausfinden, welche davon false lieferten.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

17-02-2009, 01:43
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
also es liefert :
Array ( [meinbild] => Array ( [name] => DSC_0107.JPG [type] => [tmp_name] => [error] => 1 [size] => 0 ) )
wie du sehen kannst, liefert es nicht mal den dateityp
und das ist ja die erste prüfung die ich vornehme, die so aber nen false liefert...
also überprüfe ich jetzt nochmal die php.ini ?
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

17-02-2009, 01:46
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
ok, hab ich wohl was an den augen gehabt !
in der php.ini sind max 2 MB.
die datei hat aber 2.3 MB
hab bei prüfen der eigenschaften wohl aufs falsche file geschaut.. man man !
da bleibt dem anwender nur noch, kleine files zu nutzen ?
wenn der aber nicht genug ahnung hat... kann ich das irgendwie tricky regeln ?
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

17-02-2009, 07:11
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
2 MB sind vie zu wenig. Selbst wenn du es "tricky" schaffst, die Datei hochzuladen, kannst du mit ihr praktisch gar nichts anfangen, ohne sofort ans Limit zu stoßen.
Wenn du Bildern verarbeiten willst, musst du das Limit erhöhen. Da führt kein Weg dran vorbei.
|

17-02-2009, 11:19
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Zitat:
Original geschrieben von ways
[B]also es liefert :
Array ( [meinbild] => Array ( [name] => DSC_0107.JPG [type] => [tmp_name] => [error] => 1 [size] => 0 ) )
wie du sehen kannst, liefert es nicht mal den dateityp
|
Wie auch? Das Format einer Grafikdatei prüft man ja auch mit getimagesize(). Ich gebe zu, der Name der Funktion ist nicht sehr glücklich gewählt, aber neben dem Dateiformat spuckt sie auch noch die Pixel-Dimensionen aus. Und mit denen wiederum kannst du grob abschätzen, wie viel Hauptspeicher dein Bild einnehmen wird.
Zitat:
|
da bleibt dem anwender nur noch, kleine files zu nutzen ?
|
Wenn du das Speicherlimit nicht ändern darfst -- ja.
Zitat:
|
wenn der aber nicht genug ahnung hat... kann ich das irgendwie tricky regeln ?
|
Es genügt, das Speicherlimit in der PHP.ini zu ändern.
Dein eigentliches Problem ist aber das Upload-Size-Limit. Das sagt mir zumindest dein Fehlercode (1) und die Angabe 2MB ... ;-)
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|

17-02-2009, 15:07
|
|
ways
Member
|
|
Registriert seit: Nov 2003
Ort: Berlin-West :-)
Beiträge: 386
|
|
na das mit getimagesize() it ja schon mal ne hilfreiche information !
das mit 'mime' auszulesen auch ein leichter weg !
was die php.ini angeht... nun ... ich hab natürlich zugriff auf meine lokale und kann ändern, bei dem hoster jedoch nicht
dort hab ich mir das upload_max_filesize per phpinfo mal anzeigen lassen... und auch der nutzt max 2 MB
also bin ich da mehr oder weniger aufgeschmissen und muss dem anwender nen hinweis einblenden, dass er seine grafik verkleinern soll ? z.b mit irfanview oder so !?
__________________
Coder never die, they just GOSUB without RETURN
Mein System
|

18-02-2009, 12:37
|
 |
fireweasel
Registrierter Benutzer
|
|
Registriert seit: Sep 2008
Ort: At home
Beiträge: 680
|
|
Eventuell kannst du das Memory-Limit mit ini_set() hochsetzen.
Der Hinweis auf IrfanView ist übrigens in mehrfacher Hinsicht praktisch:
Erstens kostet es ja nichts. ;-)
Zweitens haben neuere Irfanview-Versionen (seit Ver. 4.20) ein Tool an Board, mit dem man beim Speichern die maximale Größe von JPEG-Dateien in KiBytes angeben kann. Das Teil heißt RIOT (Radical Image Optimization Tool). Im englischsprachigen IrfanView findet man diese Option im File-Menü unter "Save for Web ... (PlugIn)". In deutscher Sprache: "Datei" -> "Speichern fürs Web ... (PlugIn)".
__________________
PHP-Code:
class Brick implements Throwable {
// ...
}
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|