我对路径感到困惑.. !!!
我想将文件上传到托管在同一服务器上的另一个域。
结构:
-> abc.com
- application
- assets
- upload
- system
-> xyz.com
- application
- system
我在www.xyz.com
中运行上传功能,我想将文件保存在www.abc.com
的文件夹中。
我使用以下行作为路径:
$path = $_SERVER['DOCUMENT_ROOT'].'/abc.com/assets/upload/'.$video_file_name;
上述路径在localhost服务器上正常工作。
但是它返回了这样的道路:
/home/www/xyz.com/abc.com/assets/upload/vid_15155833651401821.mp4
我需要路径:
/home/www/abc.com/assets/upload/vid_15155833651401821.mp4
代码:
function video()
{
if(isset($_POST["submit"]))
{
$extension = pathinfo($_FILES['videourl']['name'][0], PATHINFO_EXTENSION);
$video_file_name = 'vid_'.time().rand(0,10000000).'.'.$extension;
$path = $_SERVER['DOCUMENT_ROOT'].'/abc.com/assets/upload/'.$video_file_name;
// $path = $_SERVER['DOCUMENT_ROOT'].'/../abc.com/assets/upload/'.$video_file_name;
// $path = 'home/www/abc.com/assets/upload/'.$video_file_name;
move_uploaded_file($_FILES["videourl"]["tmp_name"][0],$path);
echo $video_file_name;
}else{
$this->load->view('test');
}
}
答案 0 :(得分:2)
你需要“上”一个目录,因为xyz.com
不应该在那里。因此,根据您当前的代码,替换:
$path = $_SERVER['DOCUMENT_ROOT'].'/abc.com/assets/upload/'.$video_file_name;
使用
$path = $_SERVER['DOCUMENT_ROOT'].'/../abc.com/assets/upload/'.$video_file_name;
在文档根变量之后有效添加../
。这应该把文件放在正确的位置。