php - 通过php网页上传文件
问题描述
我试图创建一个允许用户上传 nifti(.nii, .nii.gz) 文件的 apache2 网页。
我尝试了两种不同的方法:
在 WSL Ubuntu 18.04 上,“move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)" 不返回任何内容。它完全失败了。
在 XAMPP 上,页面可以获取 PDF、JPG ..etc 等文件,但不能获取 .nii、.exe(我检查了 $_FILES['file']['tmp_name']; 为空)
HTML:
<form action="upload.php" method="post" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="file">
<input class="" type="submit" value="Upload" name="submit">
</form>
php:
$target_dir = "/home/user/public_html/uploads/";
$target_file = $target_dir . basename($_FILES["file"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
$file_tmp =$_FILES['file']['tmp_name'];
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
echo "<br>";
} else {
$moving = move_uploaded_file($file_tmp, $target_file);
echo $moving;
echo "here <br>";
if ($moving) {
echo "The file ". basename( $_FILES["file"]["name"]). " has been
uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
- 有人在 WSL apache2 上成功上传文件吗?
- 为什么我不能上传“.nii”、“.nii.gz”、“.exe”之类的文件?
感谢您的阅读!
解决方案
好的,经过几个小时的尝试,我发现为什么我不能上传“.nii”、“.nii.gz”。但我有新的问题。
即使我已经设置:
upload_max_filesize = 100M
Post_max_size = 500M
该页面仍然无法获取大于 8M 的文件,我在 php error.log 上看到了这一点。
.gz文件小于8M,但解压出来的文件大于8M,无法上传。
有人知道为什么我的“php.ini”设置不起作用吗?
推荐阅读
- python - 如何在 2 个数据帧的 3 列中找到最接近的值?
- html - 使用 :after 选择性进行内联样式设置
- javascript - Why is this template not working correctly?
- r - XGBoost 的折叠规范不正确
- azure - 使用来自不同订阅的 Azure AD 的 Azure 应用服务
- c - 试图从标准中理解有符号整数转换规则
- react-native - 简单的 ExpoKit 项目不能在 iOS 或 Android 上运行
- c# - 有没有办法绘制内存成本较低的轨迹?
- cuda - CUDA,复制到共享内存会显着增加使用的寄存器数量
- android - Android -> 音频视频与主视频声音合并,保持音频较低的音量