我创建了一个简单的php页面来上传文件但是,它不起作用。我的消息确定但是如果我输入文件夹“prova”则没有... 该文件夹设置为777,此处有代码
<html>
<head>
...
</head>
<body>
<form action="importazione.php?a=1" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="Aggiorna" value="Submit">
</form>
<?php
$messaggio= $_GET['a'];
define("UPLOAD_DIR", "/home/me/Scrivania/prova");
if ($messaggio == 1)
{
$allowedExts = array("txt");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ( $temp[1] == "txt") {
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else {
if(isset($_FILES['file']))
{
$file = $_FILES['file'];
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
{
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
echo "OK";
}
}
}
}
else {
echo "Invalid file";
}
}
?>
</body>
答案 0 :(得分:2)
改变这个:
define("UPLOAD_DIR", "/home/me/Scrivania/prova");
对此:
define("UPLOAD_DIR", "/home/me/Scrivania/prova/");
在我的服务器上测试你的脚本并且运行正常,只需要在末尾需要额外的斜杠,因为要将文件上传到的位置的URL转换为:
/home/me/Scrivania/provafile.txt
什么时候应该
/home/me/Scrivania/prova/file.txt
- 编辑 -
此外,如果您打算使用ext数组,请将if语句更改为以下内容:
if ( in_array($temp[1], $allowedExts) ) {
答案 1 :(得分:1)
更改此
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
到这个
move_uploaded_file($_FILES['file']['tmp_name'], UPLOAD_DIR.'/'.$_FILES['file']['name']);