将文件上载到同一服务器上的不同域

时间:2018-01-10 11:50:06

标签: php codeigniter

我对路径感到困惑.. !!!

我想将文件上传到托管在同一服务器上的另一个域。

结构:
-> 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');
     }
}

1 个答案:

答案 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;

在文档根变量之后有效添加../。这应该把文件放在正确的位置。