2014-08-30 54 views
1

我想运行一个PHP脚本,使用户能够创建文件并将其保存到服务器上命名约定如下:< BR />创建文件具有会话ID和计数器名称

$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); 

可以请让我知道我该怎么做?谢谢

+0

您可能必须在关闭前写入一些内容...? – 2014-08-30 03:41:56

+0

嗨,乔,感谢您的回复。现在请不要担心这部分。我需要的是创建一个计数器现在被添加到文件名的末尾 – 2014-08-30 03:44:00

+0

不应该是你增加文件里面的内容而不是文件名?因为会发生什么情况是,你只会在每次刷新时产生一个新的文件,并且会话编号相同 – Ghost 2014-08-30 03:44:58

回答

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和增量来创建一个文件。将会话标识写为文件名,然后将计数器放入文件中。

+0

非常感谢幽灵,这正是我正在寻找的 – 2014-08-30 04:01:15

+0

您能否请让我知道如何要做到这一点,这对这个有什么好处? – 2014-08-30 04:02:14

+0

@MonaCoder实际上它不是一个好处,它认为这将是实现它的合乎逻辑的方式,因为你在同一个会话上的同一个文件上写入(意味着你在每个会话上写入一个文件),而不是产生每个会话的多个文件。 – Ghost 2014-08-30 04:04:02