我有两个服务器,一个用于我的网站,另一个用于存储.我正在尝试有一个页面,有人可以将文件上传到存储服务器,我希望使用表单发布到那里.我写了一个非常简单的代码来解决这个问题并且遇到了一些麻烦.如果我将操作更改为将其保存在同一服务器上的.php,它可以正常工作,但当我将其更改为我的存储服务器时,它无法上传并向我显示我无法上传的"其他"回显.
我的网络服务器上的HTML:
<form action="http://storageServer/upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
我的存储服务器上的PHP:
<?php
$folder = "files/";
$path = $folder . basename( $_FILES['file']['name']);
if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
echo "The file ". basename( $_FILES['file']['name']). " has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
?>
Run Code Online (Sandbox Code Playgroud)
.php位于带有"files"文件夹的html文件夹中.
文件没有进入您可以看到的服务器的任何原因?
小智 5
按照建议,您可以使用 CURL:
$ch = curl_init("http://www.remotepage.com/upload.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('fileupload' => '@'.$_FILES['theFile']['tmp_name']));
echo curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)