为什么临时文件不回显其数据的echo文件路径

时间:2016-09-27 01:50:19

标签: php

我想为临时文件中的每个用户存储一个随机密钥。但是我的代码中的问题是它回显文件路径并且无法创建临时文件。

<?php
function random_string($length) {
    $key = '';
    $keys = array_merge(range(0, 9), range('a', 'z'));

    for ($i = 0; $i < $length; $i++) {
        $key .= $keys[array_rand($keys)];
    }

    return $key;
}

$data = random_string(50);

$filename = tempnam(sys_get_temp_dir(), 'prefix');
$fp = fopen($filename, 'w');
fwrite($fp, $data);
fclose($fp);
?>

通过以下方式调用此文件:

<?php
$temp_file = tempnam(sys_get_temp_dir(), '');
echo $temp_file;
?>

结果是这样的:/tmp/LnRFYu / tmp目录是空的,没有创建任何东西。 我的代码有什么问题

1 个答案:

答案 0 :(得分:0)

临时文件创建代码没有问题,所以我真的不知道你在问什么。我假设您希望能够查看已创建的特定临时文件的内容。

为此,您可以使用file_get_contents($ file_name);

喜欢这样

$contents = file_get_contents(sys_get_temp_dir() . 'temp_file_name.tmp');
echo $contents;