有没有办法把它放在一个数组.txt文件?

时间:2015-05-23 22:51:04

标签: php

我有以下代码:

示例1

if ( isset($_SESSION['username']) && $_SESSION['username'] == 'name1' || $_SESSION['username'] == 'name2') {

是否可以将名称放在.txt文件中,以便它读取名称的txt文件而不是上面的文件?

修改

示例2

if (isset($_SESSION['username']) && $_SESSION['username'] = array("file.txt") ) {

请注意,我知道上面的代码不能正常工作,但这只是为了解释我在这里要做的事情。

我想将用户添加到file.txt,因此我不需要像示例1那样添加用户。

2 个答案:

答案 0 :(得分:4)

我不确定我是否正确地抓住了这个问题,但请尝试以下方法。

这将每次附加到一个文件并给出这样的结果,例如:
(加载脚本两次后)

name1
name1

并且文件名将被称为与会话名称相同的名称,例如a

要追加w开关。您可以使用<?php session_start(); $_SESSION['username'] = "name1"; if ( isset($_SESSION['username']) && $_SESSION['username'] == 'name1' || $_SESSION['username2'] == 'name2' ) { $session_file = $_SESSION['username'] . "\n"; $filename = $_SESSION['username']; $file = fopen($filename.".txt", 'a'); fwrite($file, $session_file); fclose($file); } 开关编写一次并覆盖以前的任何内容。

<?php 
session_start();

$_SESSION['username1'] = "name1";
$_SESSION['username2'] = "name2";

if ( isset($_SESSION['username1']) 
|| isset($_SESSION['username2']) 

&& $_SESSION['username1'] == 'name1' 
|| $_SESSION['username2'] == 'name2') 

{

$_POST['html'] = "<b>content</b>";

$_POST['fileName'] = "filename1";

$session1 = $_SESSION['username1'] . "\n";
$session2 = $_SESSION['username2'] . "\n";
$session3 = $session1.$session2;
$filename = $_SESSION['username'];

     $file = fopen($filename.".php", 'a');
     fwrite($file, $session3);
     fclose($file);

}

修改

此版本将写出两个不同的会话名称,一个在另一个下面:

name1
name2
b

编辑#2 :检查文件中是否存在名称。

如果您希望查看文件中是否已存在名称。

旁注: i用于&#34;字边界&#34;并且<?php session_start(); $file = fopen("file.txt", "r") or die("Cannot open file!\n"); $_SESSION['username'] = "name_X"; $search = $_SESSION['username']; while ($line = fgets($file, 1024)) { if (preg_match("/\b$search\b/i", $line)) { echo "<b>Found match: " . $line . "</b>" . " - Stopping script."; exit; // Stop the script from going any further. } } echo "Name not found, writing to file..."; // rest of code preg_match()不区分大小写。

next

答案 1 :(得分:1)

假设您将用户名存储在文本文件中,如:

user1
user2
user3

您的目标是检查$_SESSION['username']中设置的值是否在文本文件中,您可以使用file之类的内容:

 $user_list = file("users.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
 if ( isset($_SESSION['username'] ) && in_array($_SESSION['username'], $user_list ) ) {}