当前位置: 首页 > 知识库问答 >
问题:

如何将文件上传到server2上的文件夹位置,在server1上使用php脚本

范稳
2023-03-14

我有一个启用php的server1。我有一个用于文件上传的php代码。但我需要将文件保存在server2上。

我可以通过FTP访问服务器2。

搜索时我发现了这个代码,

    <?php
$ftp_server = "199.53.23.1";
$ftp_user_name = "xxxx";
$ftp_user_pass = "**********";
$remote_dir = "http://server2/Images/";

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

//default values
$file_url = "";

if($login_result) {
//set passive mode enabled
ftp_pasv($conn_id, true);

$file = $_FILES["uploadedfile"]["tmp_name"];
$remote_file = $_FILES["uploadedfile"]["name"];

$ret = ftp_nb_put($conn_id, $remote_file, $file, FTP_BINARY, FTP_AUTORESUME);
while(FTP_MOREDATA == $ret) {
$ret = ftp_nb_continue($conn_id);
}

if($ret == FTP_FINISHED) {
echo "File '" . $remote_file . "' uploaded successfully.";
} else {
echo "Failed uploading file '" . $remote_file . "'.";
}
} else {
echo "Cannot connect to FTP server at " . $ftp_server;
}
?>

它说无法连接到服务器。

有人对这种类型的需求有想法吗?

请帮忙。

更新

Server2不支持PHP

共有1个答案

邢项禹
2023-03-14

这是你的台词

$login_result = @ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

删除@

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

对于SFTP

$conn_id = ssh2_connect($ftp_server, 22);
ssh2_auth_password($conn_id, $ftp_user_name, $ftp_user_pass);

$sftp = ssh2_sftp($conn_id);

使用示例:$stream=fopen(“ssh2.sftp://$sftp/path/to/file”,“r”)

*发送文件

ssh2_scp_send($conn_id, '/local/filename', '/remote/filename', 0644);

*获取文件

ssh2_scp_recv($conn_id, '/remote/filename', '/local/filename');

*创建一个新文件夹

ssh2_sftp_mkdir($sftp, '/home/username/newdir');

*重命名文件夹

ssh2_sftp_rename($sftp, '/home/username/newdir', '/home/username/newnamedir');

*删除新文件夹

ssh2_sftp_rmdir($sftp, '/home/username/newnamedir');

*创建一个符号链接

ssh2_sftp_symlink($sftp, '/home/username/myfile', '/var/www/myfile');

*删除文件

ssh2_sftp_unlink($sftp, '/home/username/myfile');

 类似资料:
  • 问题内容: 我认为,当jenkins构建静态网站时,我有一个简单的用例,因此在构建结束时,我有一个类似于$ WORKSPACE / site-result的文件夹。 现在,我想将此文件夹上传到S3(如果已有存储,请清理存储桶)。我该怎么做? 我正在使用管道,但是如果需要可以切换到自由样式项目。到目前为止,我已经安装了S3插件(S3发布者插件)。已创建IAM用户。向“配置系统”部分添加了凭据。并且找

  • 问题内容: 我想将文件上传到给定的文件夹。 错误是: 注意:未定义的变量:第3行的C:\ wamp \ www \ sdg \ import \ ips.php中的HTTP_POST_FILES 问题答案: 以下是一种上传文件的方法,还有许多其他方法。 正如@nordenheim所说,自PHP 4.1.0起已弃用,因此不建议使用。 PHP代码(upload.php) HTML代码启动功能 希望这可

  • 我正在尝试使用多部分实体方法上传文件。但它失败,错误说{“错误”:“文件参数值'无'无效”} 我的代码是: File File = new File(" C:/Users/SST-06/Desktop/new . txt "); 我的实体文件包含所有提到的参数。 -hkYO-pblk 0 uqlxjtvklrbkosxz 7 mye-8 wbvbvanx Content-Disposition:f

  • 问题内容: 我有以下代码来检查(上传的简历和推荐信是否与所需类型(pdf或doc或docx)匹配)和大小(小于400 kb) 这无法正常工作,甚至连txt文件都没有通过+大小限制,这是怎么回事? 谢谢, 问题答案: 下面仅使用mime类型来验证文件,然后检查两者的大小。有关大多数MIME类型的列表,请参见此处或google。

  • 问题内容: 我用PHP创建了一个上传页面,但是我不知道为什么该页面不会上传大于500MB的文档,这是我第一次尝试上传较大的内容,因此我更改了PHP.INI中的所有配置(post_max_size = 700M ,upload_max_filesize = 600M和max_execution_time = 300)。上传代码如下 我需要帮助,我想知道是否有某些事情做对了。 问题答案: 您认为增加上

  • 我在dropbox示例中没有看到任何有用的上传。 你能帮帮我吗?我在用Angularjs。