php - 重命名服务器文件错误(http 包装器不支持重命名)[PHP]
问题描述
在我的页面上,用户可以上传文档,这些文档将保存在用户特定的文件夹中。目录存储在 url:http://localhost/folder/user/documentA_user_timestamp.ext
数据库中。
用户还可以删除文件,这会删除数据库中的文件条目,但我希望将文件移动到指定的存档文件夹。但是,当 php rename() 尝试执行其工作时,我总是收到此错误消息:
http wrapper 不支持重命名...
我似乎无法理解错误消息并找出它的原因
$filepath = $_POST['file'];
$archivePath = FILESYS_DOCS_ARCHIVE . basename($filepath);
if (!file_exists(FILESYS_DOCS_ARCHIVE)){
mkdir(FILESYS_DOCS_ARCHIVE, 0777);
}
$success = rename($filepath, $archivePath);
if ($success){
echo "SUCCess";
} else {
echo $archivePath;
}
解决方案
用这个
$dir = str_replace('http://','',base_url()); rename($dir.'旧文件名', $dir.'/新文件名')
推荐阅读
- mobile-safari - Safari Mobile / 从独立 PWA 强制新窗口
- amazon-web-services - 在我自己的应用程序中集成 Private Alexa Skill
- angular - 如何在浏览器刷新Angular 4时处理CanActivate
- python - Django 反向 m2m 查询
- excel - Excel - 返回包含特定行中三个特定值的列
- jquery - 预加载器脚本 - 在页面加载之前更改 SVG 填充颜色
- android - firebase 回收器适配器不加载图像但显示数据
- selenium - 使用 Mocha、Chai 和 webdriver.io 在浏览器中显示测试结果时出现问题
- php - 处理绑定变量 Oracle/PHP 中的错误
- node.js - 将多个用户添加到节点 JS env 文件