【问题标题】:samba web client - setup connection in php scriptsamba Web 客户端 - 在 php 脚本中设置连接
【发布时间】:2013-05-27 06:53:39
【问题描述】:

我必须通过我的php 脚本与Samba 服务器建立连接,以便将一些文件下载到我的本地服务器中。

其实我还是第一次听说Samba 之类的东西,所以我试图寻找可以使用的开源代码。

这是我找到的:First class - smbclient.php,我尝试了页面上发布的代码:

<?php

require_once ('smbclient.php');

$smbc = new smbclient ('//10.0.1.1/example', 'exampleuser', 'examplepassword');

if (!$smbc->get ('path/to/desired/file.txt', '/tmp/localfile.txt'))
{
    print "Failed to retrieve file:\n";
    print join ("\n", $smbc->get_last_stdout());
}
else
{
    print "Transferred file successfully.";
}

?>

根据我的需要调整它(服务器、用户、密码),我得到的只是

Failed to retrieve file: 
Fatal error: Call to undefined method smbclient::get_last_stdout() 

然后我发现了 smbwebclient.php 项目,它看起来很棒,可以在 here 找到。

这个类看起来不错,但问题是我不知道如何使用它。任何人都可以发布它的示例连接或教程链接吗?

【问题讨论】:

    标签: php samba


    【解决方案1】:

    要从 samba 服务器获取文件,您可以尝试使用 smb 包装器,例如 here,但使用爆炸来更改已弃用的拆分。然后您可以使用以下代码包含您的 php 文件:

    include_once('smb.php');
    include( 'smb://user:password@server/folder/file.php');
    

    【讨论】:

    • 很抱歉跳到这样和旧的答案,我正在使用您链接的类并连接到我的共享,但是当我使用 file_get_contents 文件时,我收到错误url_stat(): dir failed for path。有什么想法吗?
    【解决方案2】:

    恢复旧线程,但我想我找到了解决方案,自从在博客上制作锅以来,代码肯定已经改变了:

    print join ("\n", $smbc->get_last_stdout());
    

    现在应该是

    print join ("\n", $smbc->get_last_cmd_stdout());
    

    【讨论】:

      猜你喜欢
      • 2018-04-10
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      相关资源
      最近更新 更多