使用会话ID和计数器名称创建文件

时间:2014-08-30 03:36:47

标签: php

我正在尝试运行一个PHP脚本,该脚本允许用户创建文件并使用以下命名约定将其保存在服务器上:< BR />

$i =1 ;
$fileName  = 'txt'. session_id() . $i . ".txt" ;
$i++;
  

输出:txtmtbd6146ljq9fhd7sindi3njj1.txt

这是我的代码

<?php
session_start();

$i = $_SESSION['views']=1;
$fileName  = 'txt'. session_id() . $i ;
// increase for next saving as a user may save many
$i++;

$theFileName = $fileName".txt";
$theFileHandle = fopen($theFileName, 'w') or die("can't open file");
fclose($theFileHandle);
你能告诉我怎么做吗?感谢

1 个答案:

答案 0 :(得分:1)

您的代码遗漏的是您没有增加视图。例如:

session_start();
$path = 'user_counters_folder/';
// initialize counter
if(!isset($_SESSION['views'])) {
    $_SESSION['views'] = 1;
} else {
    // increment
    ++$_SESSION['views'];
}

$fileName = 'txt'. session_id() . $_SESSION['views'];
$theFileName = $fileName . '.txt';
$theFileHandle = fopen($path . $theFileName, 'w') or die("can't open file");
fwrite($theFileHandle, $_SESSION['views']);
fclose($theFileHandle);

旁注:确保您有权写作。

我的建议是创建一个文件,其中包含会话ID和每个相同会话的增量。将会话ID写为文件名,然后将计数器放在文件中。