Я разместил все свои файлы кода на одном сервере, домен которого похож на example.com, и я нахожусь на одной из этих HTML-страниц. Я хочу, чтобы некоторые файлы example.com переместились на другой сервер, домен которого похож на example2.com. Я искал в интернете, но не смог найти хорошего решения. Скажите, пожалуйста, возможно ли это без FTP-клиента или без браузера, куда мы загружаем файлы вручную. Или есть ли способ отправить файл из HTML-формы с одного сервера на другой, как если бы в действии мы напишем
<form action="http://example2.com/action_page.php">
Любая помощь приветствуется.
Есть еще 2 возможных способа копирования файлов с другого сервера.
-Один из них — удалить файл .htaccess с сайта example.com или разрешить доступ ко всем файлам (изменив файл .htaccess).
Доступ / чтение этих файлов через соответствующие URL-адреса и сохранение этих файлов с помощью методов file_get_contents () и file_put_contents (). Но этот подход сделает все файлы доступными для других людей.
$fileName = 'filename.extension';
$sourceFile = 'http://example.com/path-to-source-folder/' . $fileName;
$targetLocation = dirname( __FILE__ ) . 'relative-path-destination-folder/' + $fileName;
saveFileByUrl($sourceFile, $targetLocation);
function saveFileByUrl ( $source, $destination ) {
if (function_exists('curl_version')) {
$curl = curl_init($fileName);
$fp = fopen($destination, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
} else {
file_put_contents($destination, file_get_contents($source));
}
}
Или вы можете создать прокси / сервис на example.com для чтения определенного файла после проверки пароля или комбинации имени пользователя и пароля (независимо от ваших требований).
//In myproxy.php
extract($_REQUEST);
if (!empty($passkey) && paskey == 'my-secret-key') {
if (!empty($file) && file_exists($file)) {
if (ob_get_length()) {
ob_end_clean();
}
header("Pragma: public");
header( "Expires: 0");
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0");
header( 'Content-Type: ' . mime_content_type($file) );
header( "Content-Description: File Transfer");
header( 'Content-Disposition: attachment; filename="' . basename( $file ) . '"' );
header( "Content-Transfer-Encoding: binary" );
header( 'Accept-Ranges: bytes' );
header( "Content-Length: " . filesize( $file ) );
readfile( $file );
exit;
} else {
// File not found
}
} else {
// You are not authorised to access this file.
}
Вы можете получить доступ к этому прокси / сервису по URLhttp://example.com/myproxy.php?file=filename.extension&отмычка = мой секретный ключ».
Если вы установите содержимое этого файла: example2.com/action_page.php в:
<?php
$tobecopied = 'http://www.example.com/index.html';
$target = $_SERVER['DOCUMENT_ROOT'] . '/contentsofexample/index.html';
if (copy($tobecopied, $target)) {
//File copied successfully
}else{
//File could not be copied
}
?>
и запустить его через командную строку или cron (поскольку вы написали вопрос, связанный с PHP, но запретили использование браузеров!) он должен скопировать содержимое example.com/index.html в каталог вашего сайта (домен: example2.com), который называется contentsofexample.
Нотабене Если вы хотите скопировать весь сайт, поместите его в цикл for