Resultaat van het uploaden:
Done.
tmp:
nam:
typ:
siz:
mov: uploads\
Possible file upload attack!
Array
(
[image] => Array
(
[name] => dragon.gif
[type] =>
[tmp_name] =>
[error] => 6
[size] => 0
)
)
Sinds ik gisteren ben overgestapt naar apache 2 en php 5,
krijg ik geen enkel move_uploaded_file meer in orde.
Ik heb al vanalles geprobeerd, zoals absolute path's, maar niets werkt.
Volgens de error hierboven kan hij zelfs het geuploadde niet eens inlezen,
hij krijgt er geen statistieken van te zien?
Hoe kan dit opgelost worden?
Betreffende script:
<FORM ENCTYPE="multipart/form-data" ACTION="<?php echo($_SERVER["PHP_SELF"]); ?>" METHOD=POST>
Upload this file: <INPUT NAME="userfile" TYPE="file">
<INPUT TYPE="submit" VALUE="Send File"></FORM>
<?php
$Upload = $_FILES["userfile"];
$Text="";
switch($Upload["error"])
{
case UPLOAD_ERR_OK:$Text="Done.";break;
case UPLOAD_ERR_INI_SIZE:$Text="File size too high (as specified by the ini).";break;
case UPLOAD_ERR_FORM_SIZE:$Text="File size too high (as specified by the HTML).";break;
case UPLOAD_ERR_PARTIAL:$Text="File uploaded only patrially.";break;
case UPLOAD_ERR_NO_FILE:$Text="No file.";break;
case UPLOAD_ERR_NO_TMP_DIR:$Text="No temporary directory.";break;
case UPLOAD_ERR_CANT_WRITE:$Text="Unable to write to disk.";break;
case UPLOAD_ERR_EXTENSION:$Text="Invalid extensions.";break;
}
echo("$Text<br>\r\n");
echo("tmp: ".$Upload["tmp_name"]."<br>\r\n");
echo("nam: ".$Upload["name"]."<br>\r\n");
echo("typ: ".$Upload["type"]."<br>\r\n");
echo("siz: ".$Upload["size"]."<br>\r\n");
$MoveTo = "uploads\\".$Upload["name"];
echo("mov: ".$MoveTo."<br>\r\n<br>\r\n");
if(move_uploaded_file($Upload["tmp_name"],$MoveTo))
{
echo("File is valid, and was successfully uploaded.\r\n<br>You can download this file again by clicking <a href=\"uploads/".$Upload["name"]."\">here!</a>");
}
else
{
echo("Possible file upload attack!\n");
}
echo("<br>\r\n<br>\r\n<br><pre>");
print_r($_FILES);
?>
Edit: ik heb een tmp upload dir ingesteld in php.ini en nu werkt het wel, maar nu krijg ik volgende error's:
Warning: move_uploaded_file(koen\dragon.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/hosting/public_html/veiligheid.php on line 53
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpxDavTV' to 'koen\dragon.jpg' in /home/hosting/public_html/veiligheid.php on line 53
Hj staat nochtans 777 chmodded en de scripts draaien onder hun eigen user...
Andere map genomen en nu is het opgelost, eindelijk, na 4 uur!
$MoveTo = $_SERVER["DOCUMENT_ROOT"]."/uploads/".$Upload["name"];