我尝试复制放置在我ftp上的文件夹! 但我不会工作..Php复制文件夹到ftp上的另一个地方
首先我打包3个随机名称的文件夹,它运作良好。 但是,当我试图使复制和粘贴的文件夹包括里面的文件,到我的新destanation没有任何事情!
警告:复制():第一个参数复制()函数不能是一个目录
<?php include 'header.php';
if ($_SESSION['user']['useres_types'] == '1' or '3'){
$pid = $_SESSION['user']['id'];
$sideindhold = $_POST['sidecentent'];
?>
<h1>Spinner</h1>
<?php
$tags = mysqli_query($conn, "SELECT domaene FROM `2` ORDER BY rand() LIMIT 1; ") or die(mysqli_error($conn));
while($row = mysqli_fetch_array($tags))
{
$domainresul = $row['domaene'];
}
function random_string($length) {
$key = '';
$keys = array_merge(range(0, 9), range('a', 'z'));
for ($i = 0; $i < $length; $i++) {
$key .= $keys[array_rand($keys)];
}
return $key;
}
$content = $sideindhold;
if (isset($_POST['submit'])) {
$ftp_server = "xxx"; // virtuelt doamin
$conn_id = ftp_connect($ftp_server);
$ftp_user_name = "xxx"; // bruger jeg har opsat på min xampp, med rettigheder til example.com
$ftp_user_pass = "xxx";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// $root="url/phptest";
$root = "xxx.xxx";
echo $domainresul;
/* **************************************** */
/* create a stream context telling PHP to overwrite the file */
$options = array('ftp' => array('overwrite' => true));
$stream = stream_context_create($options);
/* **************************************** */
// check connection
echo "<center>";
if ((!$conn_id) || (!$login_result)) {
echo '<div style="background-color:red;padding:10px;color:#fff;font-size:16px;">';
echo "FTP connection has failed!";
echo "Attempted to connect to <b>$ftp_server</b> for user <b>$ftp_user_name</b>";
echo '</div>';
} else {
$foldername1 = random_string(4);
$foldername2 = random_string(3);
$foldername3 = random_string(2);
$directory = "$root/$foldername1";
if (ftp_mkdir($conn_id, $directory)) {
$directory = "$root/$foldername1/$foldername2";
if (ftp_mkdir($conn_id, $directory)) {
$directory = "$root/$foldername1/$foldername2/$foldername3";
if (ftp_mkdir($conn_id, $directory)) {
/* **************************************** */
/* and finally, put the contents */
$hostname2 = "ftp://" . $ftp_user_name . ":" . $ftp_user_pass . "@" . $ftp_server . "/";
$hostname = "ftp://" . $ftp_user_name . ":" . $ftp_user_pass . "@" . $ftp_server . "/" . $directory . "/";
$src = $hostname2. "xxx.xyz/se";
$dst = $directory;
echo $src;
echo $dst;
copy($src, $dst);
/* **************************************** */
}
}
} else {
echo '<div style="background-color:red;padding:10px;color:#fff;font-size:16px">';
echo "Could not create directory: <b>$directory</b>";
echo '</div>';
}
}
echo "</center>";
}
?>
您的代码中没有任何错误可以检测到。问题在于文件夹的权限。我有同样的问题,但经过一些研究后,我能够解决问题。 –
我想我需要在$ src和$ dst中运行$ conn_id?莫比? –
我给你的解决方案不能解决你的问题吗? –