Beste,

Ik heb op mijn eigen server een upload script staan (fancy upload). Deze maakt gebruik van flash. Het PHP gedeelte heb ik zelf geschreven omdat er een extra functie bij moest komen, de afbeeldinge moeten namelijk worden verkleind.

Uiteindelijk werkte gewoon alles, helemaal goed. Totdat hij op een andere server moest staan. Het gebruik van json_encode kan niet meer (gebruik nu alleen een simpele echo, maar nog niet helemaal zoals ik wil). Het gebruik van flash kan niet meer (er word een 403 melding gegeven), oplossing hiervan is in .htaccess deze regels te zetten: SecFilterEngine Off SecFilterScanPOST Off. Maar vanaf hier kom ik niet meer verder.

Zodra het PHP script uiteindelijk wil uplaoden word er natuurlijk eerst gecontroleerd met dit:
<?php if(is_uploaded_file($_FILES['photoupload']['tmp_name'])) ?>
Alleen geeft deze een negatieve (false) melding. Een print van $_FILES geeft het volgende:
Array
(
    [photoupload] => Array
    (
        [name]      => s03.jpg
        [type]      =>
        [tmp_name]  =>
        [error]     => 1
        [size]      => 0
    )
)


Hoe kan ik dit oplossen :/ ?
De fout is dus dat de bestandsgrote te groot is. Heb het op 2 manieren geprobeerd op te lossen:

in .htaccess dit zetten:
php_value upload_max_filesize "25M"
php_value post_max_size "25M"

in het php script dit zetten:
ini_set('upload_max_filesize', '25M');
ini_set('post_max_size', '25M');

Alleen blijft hij dezelfde fout geven ...

[edit]
Dit staat trouwens in de phpinfo():

upload_max_filesize 2M 2M
upload_tmp_dir no value no value

2M is te weinig, de afbeeldingen zijn ong 8M en worden verkleind (hierna zijn ze ong 30kb)
[/edit]
De waarde van 'upload_max_filesize' is alleen in php.ini te wijzigen.
Ik heb voor de pasen een bericht naar de hoster verstuurd, op hun website staat dat dit in overleg is te verhogen. Heb net reactie binnen. Het is veranderd naar 16MB. Dat werkt dus nu ...

Maar weet er nog iemand een manier om json_encode te gebruiken? Er draait php 5.1.6
In plaats van move_uploaded_file kun je ook copy() vanuit de tmp_name doen. Geeft hetzelfde resultaat.
Snake schreef op 14.04.2009 19:40
In plaats van move_uploaded_file kun je ook copy() vanuit de tmp_name doen. Geeft hetzelfde resultaat.

Je laat dan wel een exemplaar in de tmp dir staan. (Serververvuiling)
copy() gebruik ik nooit met uploaden. Precies om de reden die SanThe hierboven al heeft gezegt.

json_encode kan ik nu wel gebruiken, de hoster is zo vriendelijk geweest om json toe te voegen.

Opgelost dus!

Reageren