首页 > 解决方案 > 对将 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 时间删除生成的文件夹中的所有文件。

标签: php

解决方案


您的代码中有许多语法错误。

此外,使用file_put_contents()不需要您先打开文件。

.TXT最后,如果您要在之后立即重命名文件,为什么还要创建一个带有扩展名的文件?

尝试这个:

$txt = $_POST['content'];
$UUID = $_POST['UUID'];
$fname = "./generated/$UUID.mobileconfig";
file_put_contents($fname, $txt);

有关双引号字符串中变量扩展的详细信息,请参阅PHP 手册


推荐阅读