【问题标题】:How to upload an image from a domain to another domain under same server by php?如何通过php将图像从域上传到同一服务器下的另一个域?
【发布时间】:2013-04-24 09:56:40
【问题描述】:

我想将文件夹www.abc.com/upload/abc.jpg 中的图像移动到www.def.com/upload/abc.jpg。这两个网站有相同的godaddy cpanel,但它们的ftp 细节不同.. 我怎样才能移动那个图像?

  <?php
   move_uploaded_file($_FILES["file"]["tmp_name"],
  "C:\inetpub\vhosts\def.com\upload\\" . $_FILES["file"]["name"]);

 ?>

它不工作。但是当我使用ftp_put() 函数时它会起作用,这个函数需要 ftp 用户名和密码。我想在没有 ftp 详细信息的情况下移动图像。我该如何移动它,有可能吗?

【问题讨论】:

  • 您提到了除了最重要的事情之外的所有内容 - 这两个网站是否位于同一物理服务器上?如果是,那么答案是微不足道的。如果没有,那么您挂载目标服务器的上传目录,以便 SOURCE 可以看到它。之后它只是将一个文件复制到一个目录中。

标签: php image file file-upload


【解决方案1】:

试试这个解决方案:

# Source domain code..
$save_dir = 'C:\inetpub\vhosts\abc.com\upload\abc.jpg' ;# Temporary save file in your source domain..
$url = "http://www.def.com/copy_upload_file.php"; # destination domain URL
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
    "file"=> "@".$save_dir,
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);

将此文件添加到您的另一个域中..

# Destination domain file called as copy_upload_file.php
$path = 'C:\inetpub\vhosts\def.com\upload\'; # Write full path here
if(isset($_FILES["file"]))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "0";
    }
    else
    {
        if(is_uploaded_file($_FILES["file"]["tmp_name"]) && move_uploaded_file($_FILES["file"]["tmp_name"], $path . $_FILES["file"]["name"]))
        {
            echo "1";
        }
        else {
            echo "0";
        }
    }
}
else
{
    echo "0";
}

【讨论】:

  • 感谢 pankaj。我将分配给 $save_dir 哪个地址?目录路径还是url路径?
  • 对不起 pankaj,我没有另一个域的 ftp 详细信息。所以我无法将 copy_upload_file.php 上传到另一个域..
  • @pankaj: 两个域都在同一个服务器上吗?
  • 是的,都在godaddy服务器下,但是abc.com和def.com都是不同的站点
  • 如果目标域目录路径具有有效权限(777),那么您可以直接将文件放在该位置,否则您应该询问客户端的 FTP 凭据。
猜你喜欢
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多