Reinhold Geschrieben 8. Juni 2010 Teilen Geschrieben 8. Juni 2010 Da in der PHP-Gruppe offensichtlich nix los ist, aber ich gerne einen Meinungsaustausch hätte, stelle ich die Frage nochmal hier rein: ------------------------------------------------ Moin, da erhalte ich doch gestern (mittlerweile vor längerem) einen Call einer Anwenderin: Sie kann bei neuen Datensätzen einer Intranetanwendung keine Dateien vom Typ xyz mehr hochladen. Hm... Versuche auf dem System des Kunden ergaben, dass sie fast recht hat, sie kann nämlich bei neuen Datensätzen überhaupt keine Dateien hochladen. Bei einer Datensatzaktualisierung klappt das aber wunderbar. Ein Versuch auf meinem Testsystem mit identischem Programmstand und originalen Nutzdaten ergab, das alles bestens funktioniert... Hm? Nach Stunden habe ich dann den Grund dafür gefunden: Sie arbeiten mit PHP 5.2.13, ich mit 5.2.9 und das Problem liegt an der Einstellung max_file_uploads in der php.ini, eingeführt mit 5.2.12 und per default auf 20 gesetzt. Nun hätte ich angenommen, das mag auch reichen soweit, aber php zählt hier auch leere Dateiuploadfelder mit (also input type='file'...), d.h. auch wenn überhaupt keine Datei ausgewählt worden ist, zählt das als file-upload... *NARF* und da jeder Datensatz 2 upload-felder hat war natürlich nach dem 10. Satz Schluss. Hattet ihr das Problem auch schon? Ist das ein Bug oder ein Feature? Wie geht ihr damit um? Gibt es dafür eine andere Lösung, als in der php.ini rumzuschreiben? (Bei diesem Kunden ging das, aber anderswo komme ich an die php.ini ja nicht ran) Viele Grüße aus Osnabrück Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
_n4p_ Geschrieben 8. Juni 2010 Teilen Geschrieben 8. Juni 2010 ich hatte das zwar noch nicht, aber ein kurzer blick in den php bugtracker zeigt das das ein feature ist. PHP :: Bug #50749 :: max_file_uploads counts empty uploads as well und aus ihrer perspektive haben sie auch recht. ein workaround wäre nur soviel file-inputs zu erzeugen wie php verwalten kann, halt per ini_get den wert auslesen. alternativ könnte man die dateien auch grüppchenweise hochladen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 9. Juni 2010 Autor Teilen Geschrieben 9. Juni 2010 Mon und Danke für deine Mühe. Also das ein "leeres" file-input-feld nennenswert Ressourcen verbraucht, halte ich für eine faule Ausrede. Falls nämlich kein einziges gefüllt ist, ist die Antwort quasi sofort da, obwohl das bei meinem Kunden Hunderte solcher Felder sein können. Im konkreten Fall kann der Kunde in einer Art Grid mehrere Datensätze auf einmal editieren und dann gesammelt speichern. Da jeder Satz der zugrunde liegenden Tabelle 2 Dateien enthalten kann (ein Icon und ein Dokument), habe ich auch für jeden Satz 2 Upload-Felder. Natürlich kommt es praktisch NIE vor, das davon wirklich mehr als 3, geschweige denn mehr als 20, benutzt werden. Um deinen Workaround aufzugreifen, würde das bedeuten, die Anzahl der Datensätze zu reglementieren... ich nehme an, das das keine Akzeptanz hätte. Ich sehe es schon kommen, da irgendwann wilde Sachen zu programmieren, falls ich wirklich die php.ini nicht ändern kann. *schauder* Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.