通过php上载文件时出错
我正在使用此脚本上载文件。我没有对文件类型执行任何检查,因为这是我第一次尝试。我使用的是Ubuntu,在php.ini文件中,文件上传设置为“on”。但我仍然无法上传文件通过php上载文件时出错,php,Php,我正在使用此脚本上载文件。我没有对文件类型执行任何检查,因为这是我第一次尝试。我使用的是Ubuntu,在php.ini文件中,文件上传设置为“on”。但我仍然无法上传文件 <?php if(isset($_POST['send'])) { $uploaddir = "/home/harbhag/Desktop/"; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo $uploadfile; if
<?php
if(isset($_POST['send']))
{
$uploaddir = "/home/harbhag/Desktop/";
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo $uploadfile;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
}
?>
<html>
<form enctype="multipart/form-data" action="upload.php" method="POST">
<!-- MAX_FILE_SIZE must precede the file input field -->
<input type="hidden" name="MAX_FILE_SIZE" value="30000000" />
<!-- Name of input element determines name in $_FILES array -->
Send this file: <input name="userfile" type="file" />
<input type="hidden" name="send" value="send" />
<input type="submit" value="Send File" />
</form>
</html>
您应该使用$uploaddire和$uploadfile这两个变量为文件创建有效路径
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$uploadfile)) {
并注意要点
目标目录应具有写入权限
要上传的文件大小必须满足php的upload_max_filesize默认值为2MB限制
您应该使用$uploaddire和$uploadfile这两个变量为文件创建有效路径
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$uploadfile)) {
并注意要点
目标目录应具有写入权限
要上传的文件大小必须满足php的upload_max_filesize默认值为2MB限制
使用move_上传的文件时要格外小心。它不会在partitios之间移动文件,主机公司可能会将其上载临时目录放在php文件的其他位置 这是一个更安全的选择:
$tempname = $_FILES['userfile']['tmp_name'];
if (is_uploaded_file($tempname)) {
copy($tempname, $uploadfile);
}
使用move_上传的文件时要格外小心。它不会在partitios之间移动文件,主机公司可能会将其上载临时目录放在php文件的其他位置 这是一个更安全的选择:
$tempname = $_FILES['userfile']['tmp_name'];
if (is_uploaded_file($tempname)) {
copy($tempname, $uploadfile);
}
$uploaddir目录的写入权限是什么?@helle,由于$uploaddir是我的主目录,所以我对它有写入权限@alexn,我收到了可能的文件上传攻击,这是写在代码里的。但是我没有收到任何指定错误可能原因的消息。$uploaddir目录的写入权限是什么?@helle,我有$uploaddir的写入权限,因为它是我的主目录@alexn,我收到了可能的文件上传攻击,这是写在代码里的。但是我没有收到任何消息说明可能的错误原因。这没有帮助。是的upload_max_filesize已经设置为50MBOk,我已经解决了。我将目录更改为其他目录,并授予它完整的写入权限,它成功了。我不需要使用$uploaddirIt也没用。是的upload_max_filesize已经设置为50MBOk,我已经解决了。我将目录更改为其他目录,并授予它完整的写入权限,它成功了。我不需要使用$uploaddir