php - 用于从文件服务器中删除数据的 PHP 脚本
问题描述
我正在努力寻找一种方法,以便删除刚刚被 PHP 脚本读取的文件。PHP 在一台服务器上工作,而它正在读取的文件在另一台服务器上。到目前为止,只是为了阅读它,我使用的是在 git 上找到的 SMB 服务器,但是应该用作删除的功能(删除文件和删除目录的功能)给我带来了内存分配问题(尽管所有文件可能有 1MB总共)。权限由活动目录控制器定义,并且创建一个特定用户只是为了读取这些文件。以防万一我将包含 smb 的 git。 https://github.com/icewind1991/SMB 正在使用的用户可以在服务器上创建和删除文件,请仔细检查。
解决方案
如果您确实可以通过 SMB 协议访问远程文件服务器,则可以使用 shell smbclient,方法是从 php.ini 调用它。
首先:在您的主机上安装 smbclient
第二:检查您是否可以手动从终端运行命令并删除文件:
smbclient YOURFILESERVER -c "del /path/to/file/to/remove"
第三:如果它运行正常,而不仅仅是使用 php 的 shell 函数:
shell("smbclient $server -c \"del $filename\"")
(当然应该设置变量 $server 和 $filename)
推荐阅读
- javascript - 如何等待 Firebase 存储图像上传,然后运行下一个函数
- node.js - 将 Joi 升级到最新版本后出错 - 架构只能包含普通对象(名称)
- html - 旧的取消链接内容仍然出现在我的网站页面上
- ios - 我可以以编程方式在资产目录之间切换吗?
- react-native - 如何用带有链接的文本组件替换字符串中的@mention - React Native
- python - 如何解决此错误 [缺少 1 个必需的位置参数:'request']?
- performance - 为什么 findAncestorWidgetOfExactType 是 O(N) 而dependOnInheritedWidgetOfExactType 是 O(1)
- android - 如何正确地将 'androidx.cardview:cardview:1.0.0' 添加到我的项目依赖项中?
- python - 在scrapy中获取带有内部标签的文本作为字符串
- google-cloud-functions - 仅使用 Dialogflow webhook 来存储聊天对话,为所有缩进调用 webhook,但使用意图中的默认文本作为响应