Php 跨域保存用户上传的文件

Php 跨域保存用户上传的文件,php,image,cross-domain,uploading,cookieless,Php,Image,Cross Domain,Uploading,Cookieless,我有一个网站,人们可以上传图片。但我想把这些图像保存在我的无Cookie域中。因此,我写道: move_uploaded_file($_FILES['image1']['tmp_name'], $folder_temp .$image_path_1 ); 其中文件夹温度为: www.examplestatic.com/image\u folder/big\u images 但是,我得到一个错误,它无法移动文件。我曾经让它将上传的文件移动到同一个域中的文件夹中,这样就可以了。但是,由于我将$fo

我有一个网站,人们可以上传图片。但我想把这些图像保存在我的无Cookie域中。因此,我写道:

move_uploaded_file($_FILES['image1']['tmp_name'], $folder_temp .$image_path_1 );
其中文件夹温度为: www.examplestatic.com/image\u folder/big\u images

但是,我得到一个错误,它无法移动文件。我曾经让它将上传的文件移动到同一个域中的文件夹中,这样就可以了。但是,由于我将$folder_temp的目录更改为新的静态域,它不再工作了。如何允许用户跨域上传文件


谢谢

我会将上载的文件移动到您服务器上的文件夹中,然后更改您的web服务器配置,使您的其他域指向可访问该文件夹的目录。

我找到了一个解决方案:

它使用php通过FTP上传文件。代码如下所示:

$ftp_server = "server";
$ftp_username  = "username";
$ftp_password   =  "password";
$connection = ftp_connect($ftp_server) or die("could not connect to $ftp_server");
if(@ftp_login($connection, $ftp_username, $ftp_password))
{ ftp_put($connection, $folder_destination, $location_original_file, FTP_BINARY) or die("could not find directory");
} else { }
ftp_close($connection);
我花了很长时间才找出出现的意外错误。所以要记住几件事:
1) 确保$folder_destination是分配给您创建的ftp用户的文件夹中的目录
2)
$location\u original\u文件
必须是保存图片的目录(与php代码中引用图片的目录相同)
3) FTP_ASCII不适用于图片。它必须是FTP_二进制文件(至少FTP_ASCII对我不起作用);最后,确保您必须使用ftp访问的所有文件夹都具有可写权限。
4) 由于某些原因,ftp_put无法读取上载的文件。我不知道为什么。这就像当我打开ftp连接时,它丢失了用户上传的文件。因此,我所做的是先将文件保存在同一个域中的一个目录中,甚至在打开ftp连接之前(我最后这样做),然后将保存的文件移动到另一个域。我需要移动上传图片的几个版本,所以我首先做了所有的修改,将修改后的版本保存在同一个域中,然后将所有保存的文件移动到新域中各自的目录中

就这样