为什么临时文件不回显它的数据,它的回显文件路径


why temp file doesn't echo its data its echo file path

我想在临时文件中为每个用户存储一个随机密钥。但是我的代码中的问题是什么?它回显文件路径,不能创建临时文件。

<?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 dir是空的,没有创建任何东西。我的代码有什么问题

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

你可以使用file_get_contents($file_name);

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