Eksperymentowałem sobie z Web Forms 2, próbująć napisać skrypt do wczytywania wielu plików z jednego pola <input>. Problem pojawił się przy interpretacji XML wysłanego przez przeglądarkę. Przy wybraniu więcej niż 1 pliku, tag zamykający XML jest przycinany.
Miałem kłopot z wybraniem odpowiedniego forum, nie wiedząc czy winna jest przeglądarka czy php. Obecnie niestety WF2 obsługuje tylko Opera, więc nie mogłem sprawdzić w innych klientach. (w wersji 9.63 i 10.00 alpha jest ten sam błąd)
Wersja php: 5.2.6-2ubuntu4
Formularz:
Skrypt
<?php ?>
Wyjście skryptu (pliki są takie same, więc wyciąłem pięć ostatnich)
<submission xmlns="uuid:d10e4fd6-2c01-49e8-8f9d-0ab964387e32"> <file name="strips" index="0" filename="1.png"> iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/ AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA SUVORK5CYII= </file> <file name="strips" index="0" filename="2.png"> plik </file> <file name="strips" index="0" filename="3.png"> plik </file> <file name="strips" index="0" filename="4.png"> plik </file> <file name="strips" index="0" filename="5.png"> plik </file> <file name="strips" index="0" filename="6.png"> plik </file> </s
Jak widać tag </submission> jest ucięty.
Wysłałem też formularz do netcata, oto "gołe" żądanie POST
Kod
POST / HTTP/1.1
User-Agent: Opera/9.63 (X11; Linux i686; U; en) Presto/2.1.1
Host: localhost:5000
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: pl-PL,pl;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://v2.localhost/pages/upload.php
Connection: Keep-Alive
Content-Length: 2517
Content-Type: application/x-www-form+xml; charset=utf-8
<submission xmlns="uuid:d10e4fd6-2c01-49e8-8f9d-0ab964387e32">
<field name="id" index="0">0</field>
<file name="strips" index="0" filename="1.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="2.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="3.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="4.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="5.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="6.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
</submission>
User-Agent: Opera/9.63 (X11; Linux i686; U; en) Presto/2.1.1
Host: localhost:5000
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: pl-PL,pl;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://v2.localhost/pages/upload.php
Connection: Keep-Alive
Content-Length: 2517
Content-Type: application/x-www-form+xml; charset=utf-8
<submission xmlns="uuid:d10e4fd6-2c01-49e8-8f9d-0ab964387e32">
<field name="id" index="0">0</field>
<file name="strips" index="0" filename="1.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="2.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="3.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="4.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="5.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
<file name="strips" index="0" filename="6.png">
iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHCAYAAAArkDztAAAABmJLR0QA/wD/AP+g
vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1wMNEDIzOKOyLQAAAIVJ
REFUCNclyUEKwyAQQNGvDiS4Cr1CAu3ZcoAesotcpI2CTYiKOF30bZ9Z16eKCDFG
tu1FrZlx9EgIH6wVzvPLdZ2UcmGMQUIIAJRSaK3RewdA9v1N751hGFiWB9ZanHP/
AJimG/N8x3tPzhmpNQNQaybGneNItNYQAFVFVUkp4ZxDVfkBuvlIywij5BoAAAAA
SUVORK5CYII=
</file>
</submission>
Sądzę, że ma to jakiś związek z Content-length, jednak nie wiem która strona jest winna. Porównując długość danych w gedit z wartością w nagłówku, ta druga wydaje się wręcz za duża. (nie wiem czy gedit nie przekręca kodowania czy coś)