跨域上传类

3
我完成了一个网站,现在正在将其部署到托管服务上。这个网站由2个不同的域组成,托管在同一台服务器上。(www.domain1.com和www.domain2.com)
情况:
当我将这些域移动到托管服务时,我发现有一个脚本不能像在本地服务器上那样工作。这个脚本是一个自定义的php上传类。这个脚本位于www.domain1.com,但需要将文件上传到www.domain2.com。
我的本地服务器是一个Xampp服务器,具有简单的文件结构。
C:/xampp/htdocs
- Domain1/uploadscript.php - Domain2/destinationfolder/
我目前正在使用$_SERVER ['DOCUMENT_ROOT']函数导航到其他域。这种方法对本地服务器很好,但无法在托管版本中正常工作,如下所示。
主要问题:
本地服务器 print_r ($_SERVER ['DOCUMENT_ROOT']);
= C:/xampp/htdocs
在domain1.com上 print_r ($_SERVER ['DOCUMENT_ROOT']);
= /home/myname/domains/domain1/public_html/
在domain2.com上 print_r ($_SERVER ['DOCUMENT_ROOT']);
= /home/myname/domains/domain2/public_html/ $_SERVER ['DOCUMENT_ROOT']没有指向“domains”文件夹,而已经指向“public_html”。
问题:
1、如何导航到服务器上的“domains”文件夹? 2、跨域上传需要其他什么?

我不确定我是否正确理解了“如何导航到我的服务器上的“domains”文件夹”的含义。你能解释一下吗? - Sergio Ivanuzzo
@SergioIvanuzzo 当然可以 :)!简单来说,我该如何编写代码从domain1/public_html/到domain2/public_html。目前我正在尝试使用$_SERVER['DOCUMENT_ROOT'],但在domain1上使用此脚本会将我带到/home/myname/domains/domain1/public_html/。因此,对我来说仍然无法从domain1的脚本中导航到domain2的目标位置。我需要这样做是因为我使用move_uploaded_file($tempname, $destination)方法将上传的文件移动到目标位置。感谢您的帮助! - NealVDV
看起来你正在做一些奇怪的事情。要从域A发送数据到域B,你所需要的只是在域A上的简单表单和在域B上的请求处理程序。同时,你还需要配置 CORS(就像我在下面的回答中所写的)。 - Sergio Ivanuzzo
@SergioIvanuzzo 不知道是这样做的 :) 我试图找到一个好的请求处理程序的例子,但我不确定我是否在搜索正确的东西...你能指点我吗?谢谢! - NealVDV
好的,我会尝试。您可以将uploadscript放到B域名上。在A域名上,您只需要一个允许上传文件的表单(不要忘记在此表单中定义enctype="multipart/form-data")。您还需要将操作设置为"http:// domainB/uploadscript"。就这样。 - Sergio Ivanuzzo
1个回答

1

再次你好,我已经按照你说的重新分配上传脚本。目前情况是表单位于domain1上,而上传脚本位于domain2上。enctype已经设置好了。如上所述,头文件已经设置好了。现在当我尝试运行代码时,甚至在脚本运行之前就出现了内部服务器错误_500_。我认为它可能与这个头文件设置 Access-Control-Allow-Origin "*" 有关。如何允许"mod_headers"?谢谢! - NealVDV
再次你好,我尝试查找错误日志,但没有找到有用的信息。我已经用另一种方式解决了这个问题。感谢你的努力! - NealVDV
@NealVDV 你好。非常好。顺便说一下,你可以将你的解决方案发布为答案并接受它。 - Sergio Ivanuzzo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接