PDA

Bekijk Volledige Versie : [PHP] File upload en Safari



Jeroen Baas
23/10/04, 15:45
Ik heb een file upload script gemaakt in php.
die werkt goed met alle browsers, incl firefox op de mac, behalve met
Safari.

Als ik het form submit worden wel alle $_POST variabelen gemaakt uit het
form, maar de $_FILES['uploadfile'] is er niet!

ik heb toen een simpeler scriptje gemaakt, waarbij het wel werkt op de
mac/safari(zie onderaan), maar precies datzelfde werkt niet in m'n
andere script. het zal dus wel in een klein verschil zitten. kan het te
maken hebben met het feit dat de fileupload op een layer staat die niet
visible is op het moment van posten? de layer is wel visible geweest,
het is een soort wizard, dus ik vul em niet via javascript ofzo(dat is
het dus niet).

heeft iemand een idee wat voor eigenaardigs ik naar zou moeten kijken?

<?
if (isset($_FILES['uploadphoto'])) {
reset($_FILES['uploadphoto']);
for($n=0;$n<sizeof($_FILES['uploadphoto']);$n++) {
echo('$_FILES[\'uploadphoto\'][\''.key($_FILES
['uploadphoto']).'\']='.current($_FILES['uploadphoto']).'<br/>');
next($_FILES['uploadphoto']);
}
} else {
echo('no file uploaded at all, variable not set!');
}
?>
<script>
function previewphoto() {
}
</script>
<form action="uploadtest.php" method="post" enctype="multipart/form-
data" name="form1">
<input name="uploadphoto" type="file" id="uploadphoto"
onChange="previewphoto()" size="30" accept="image/gif,image/jpeg">
<br/>
<input type="submit">
</form>

Daniel Tryba
23/10/04, 19:35
Jeroen Baas <a.j.baas@students.uu.nl.remover> wrote:
> ik heb toen een simpeler scriptje gemaakt, waarbij het wel werkt op de
> mac/safari(zie onderaan), maar precies datzelfde werkt niet in m'n
> andere script. het zal dus wel in een klein verschil zitten. kan het te
> maken hebben met het feit dat de fileupload op een layer staat die niet
> visible is op het moment van posten? de layer is wel visible geweest,
> het is een soort wizard, dus ik vul em niet via javascript ofzo(dat is
> het dus niet).

Het zou een beveiligin kunnen zijn, het uploaden van files is natuurlijk
uitermate interessant om misbruik van te maken.

> heeft iemand een idee wat voor eigenaardigs ik naar zou moeten kijken?

Bekijk de transacties eens met tcpdump/ethereal, en zoek de verschillen.
Het riekt overigens naar een clientside probleem welke je waarschijnlijk
het best in een mac/safari specifieke groep kan navragen.

BTW Wat doet konqueror?

--

Daniel Tryba