php - 对将 fopen 指向特定目录中的特定文件(使用变量文件名)感到困惑
问题描述
所以我基本上是在创建具有唯一文件名的 .txt 文件,然后更改 ext。的文件到 .mobileconfig。这是总体目标,但我希望文件位于不同的目录中,这不是我的根目录。所以它基本上是一个 HTML 表单,然后它获取通过该表单提交的数据,并在此处确定如何处理它:
<?php
$txt = $_POST['content'];
$UUID = $_POST['UUID'];
$genfile = fopen('./generated/'$UUID.'.txt', w);
file_put_contents('./generated/'$UUID.'.txt', $txt);
rename('./generated/'$UUID.'.txt', './generated/'$UUID.'.mobileconfig');
?>
我让它工作,但它与我的其他文件位于同一目录中。我试过上面的代码,我试过用“而不是'。我试过没有/之前的句号,我试过没有./一起。
除了将 .php 文件移动到另一个目录之外,还有什么我可以尝试的,因为我确实想设置一些东西,它会每隔 x 时间删除生成的文件夹中的所有文件。
解决方案
您的代码中有许多语法错误。
此外,使用file_put_contents()
不需要您先打开文件。
.TXT
最后,如果您要在之后立即重命名文件,为什么还要创建一个带有扩展名的文件?
尝试这个:
$txt = $_POST['content'];
$UUID = $_POST['UUID'];
$fname = "./generated/$UUID.mobileconfig";
file_put_contents($fname, $txt);
有关双引号字符串中变量扩展的详细信息,请参阅PHP 手册
推荐阅读
- python - 哪个 python 和 tensorflow 版本用于使用 tensorflow api 训练 DeepLab v3+?
- sql - 我想找到从 2017 年到 2018 年连续 3 个月进行交易的客户
- azure - 从 Blob Storage .net core Azure Function C# 下载文件
- angular - 为什么 Ionic 4 Ion-Slides 突然停止正常显示?
- aws-lambda - 创建 lambda 层的代码构建 - 找不到模块
- r - 引用先前行的 for 循环
- c# - 将 mvc 应用程序部署到 aws 后出现服务器错误
- subdomain - 关于在 cPanel 上创建子域
- java - 如何从另一个线程调用 JAWT_FreeDrawingSurface?
- java - java - 如何判断命令提示符的实例何时关闭,在java中?