У меня есть два сервера, один с моим сайтом, другой для хранения. Я пытаюсь иметь страницу, где кто-то может загрузить файл на сервер хранения, я надеюсь использовать сообщение формы, чтобы получить его там. Я написал очень простой код для устранения этой проблемы, и у меня проблемы. Он отлично работает, если я изменяю действие на .php, который сохраняет его на том же сервере, но когда я меняю его на свой сервер хранения, он не может загрузить и покажет мне эхо «else», которое не удалось загрузить.
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>
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!"; } ?>
.php находится в папке html с папкой «файлы».
Любая причина, по которой файл не попадает на сервер, который вы видите?
Эта тема отвечает на ваш вопрос
Как и было предложено, вы можете попробовать следующее:
$ch = curl_init("http://www.remotepage.com/upload.php"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CUROPT_POSTFIELDS, array('fileupload' => '@'.$_FILES['theFile' ['tmp_name'])); echo curl_exec($ch);