使用PHP上传XML文件到web目录;MVC
本文关键字:web 目录 MVC 文件 PHP 上传 XML 使用 | 更新日期: 2023-09-27 18:19:13
我有一个问题,我的php脚本在ASP。净MVC。我已经部署到azure服务,并仔细检查了PHP是否已启用。
php脚本(upload.php)为:
<?php
if(move_uploaded_file ($_FILES['file'] ['tmp_name'], "Content/{$_FILES['file'] ['name']}")) {
echo "Programme file uploaded successfully. You will be redirected to the content rater in a few seconds..";
header("refresh:3; url=Home/Index");
exit;
}
else {
echo "XML file not uploaded successfully. Unexpected error.";
header("refresh:3; url=Home/Index");
exit;
}?>
我试图将文件上传到默认创建的文件夹(在visual studio中)"内容"。我试着输入位置(都失败了):
- ~/内容/
- /内容/
- 内容/
我的表格如下:
<form action="/Scripts/php/upload.php" method="post" enctype="multipart/form-data">
<label>Select file:</label>
<input type="file" name="file">
<br /><br />
<input type="submit" class="btn btn-success" value="Upload">
</form>
不管发生什么事,我总是被失败信息所吸引。
我认为我的脚本可能是错误的,所以我尝试了W3Schools的脚本(图像上传示例),这也总是失败。
经过一些研究,似乎你无法在Azure上上传到你自己的web目录-这是真的吗?
如果这是,我的选择是什么?
我也必须使用php,因为它是我试图完成的任务所需要的。
在对代码进行了一些修改之后,我得到了一些可以工作的东西!
这应该工作完美,你只是改变$target_dir
。我已经在我的网站上测试过了。我有同样的问题,你有你提供的PHP代码,这使我相信,azure是不阻止任何类型的上传。
为了安全起见,做一些检查,比如文件类型、文件大小以及文件是否已经存在,都是值得的。
如果使用var_dump($_FILES);
仍然有问题,因为它只是打印出变量,这将显示您是否真正获得了文件。
<?php
$target_dir = "Content/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
if(isset($_POST["submit"]))
{
if (move_uploaded_file($_FILES['file']['tmp_name'], $target_file)) {
// Success
print "Received {$_FILES['file']['name']} - its size is {$_FILES['file']['size']}";
} else {
// Failed
print "Upload failed!";
var_dump($_FILES);
}
}
?>