php - 上传文件 PHP EC2 不工作没有错误
问题描述
我正在尝试创建一个上传页面,用户可以在其中将他们的个人资料图片上传到我的 EC2 实例。我创建了一个名为profile-images
EC2 的目录,并且我有以下代码。当我上传文件时,我没有收到任何错误。但是,该文件没有被上传。我对profile-images
目录具有以下权限:drwxrwsrwx 2 ec2-user www 4096 Mar 23 19:11 profile-images
. 任何帮助将不胜感激!
if(isset($_POST['submit'])){
$file = $_FILES['file_name'];
$fileName = $_FILES['file_name']['name'];
$fileTmpName = $_FILES['file_name']['tmp_name'];
$fileSize = $_FILES['file_name']['size'];
$fileError = $_FILES['file_name']['error'];
$fileType = $_FILES['file_name']['type'];
$fileExt = explode('.',$fileName);
$fileActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png', 'pdf');
if(in_array($fileActualExt, $allowed)){
if($fileError == 0){
if($fileSize < 1000000){
$fileNameNew = uniqid('',true).".".$fileActualExt;
$fileDestination ='http://server_path/profile-images/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
echo "success";
} else {
echo "Your file is too big";
}
} else {
echo "There was an error uploading your file";
}
} else {
echo "You can not upload files of this type";
};
}
解决方案
move_uploaded_file()
需要相对路径(参见示例 1),而不是绝对路径:
(取自评论)
$fileDestination ='../profile-images/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
推荐阅读
- java - 我怎样才能为spring beanId添加前缀?
- go - 无法关闭融合的 golang kafka 消费者
- php - 如何在 Codeigiter 3 中制作关于权限问题 0755 的 php 脚本?
- kotlin - Kotlin 泛型类型推断 - 继承
- python - PyQt 将 PushButton 连接到向导中的 next() 插槽
- tensorflow - 在 C++ 中联合的 Tensorflow
- python - Python numpy ValueError:无法将输入数组从形状(2,2,3)广播到形状(2,2)
- linux - 新密码验证器并在 shell 脚本中重新输入新密码
- python - FedEx API - 标签(PDF 和 ZPL)
- swift - 通过 Swift 从 iNode / systemFileNumber 获取 macOS 文件路径