Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有办法将其放入array.txt文件中?_Php - Fatal编程技术网

Php 有没有办法将其放入array.txt文件中?

Php 有没有办法将其放入array.txt文件中?,php,Php,我有以下代码: 例1 if ( isset($_SESSION['username']) && $_SESSION['username'] == 'name1' || $_SESSION['username'] == 'name2') { 是否可以将名称放在.txt文件中,以便它读取txt文件中的名称而不是上述名称 编辑 例2 if (isset($_SESSION['username']) && $_SESSION['username'] = array("f

我有以下代码:

例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那样添加用户。

我不确定我是否正确理解了这里的问题,但请尝试以下方法

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


编辑:

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

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

user1
user2
user3
您的目标是检查
$\u SESSION['username']
中设置的值是否在文本文件中,您可以使用如下方法:


可能,当然,只是连接。然而,有点不清楚你在问什么;给我们一个example@Fred-ii-是否有一种方法可以让脚本在每次需要添加新名称时读取包含名称的.txt文件,而不是
$\u SESSION['username']=''
?只是为了更容易将用户添加到列表中。lordie,我不知道,类似于先分配它
$\u SESSION['username']=“file.txt”?然后将其传递给后面的条件语句。如果这就是问题所在about@Fred-那行吗?我只需要添加一次$\u会话和文本文件?在那个文本文件中,我只需要用enter键分隔名称,对吗?对不起,威利,我(仍然)很难弄清楚这里的最终目标是什么。你的意思是要将会话数组添加/写入文本文件?当我看到这一点时,这看起来很有希望,我测试了它并抛出了
解析错误:语法错误,意外的“&&”(T_BOOLEAN_and),期望的是“,”或“…
-你需要检查括号。将其更改为
if(isset($会话['username'])和&in_数组($会话['username'],$user\u list))
,它将按预期工作。我还希望OP能够响应给出的任何答案;似乎它们已经消失在空气中了。我想我已经抓住了这个问题并修复了这个例子(复制/粘贴错误)。当前的示例是否仍然会抛出错误?是的,Anthony,这就是我测试它的示例;同样的错误。
if(isset($会话['username'))和&in_数组($会话['username',$user\u列表))
应该是它,我已经测试过了;工作得很有魅力;-)upvote选择可移植到其他语言的综合答案作为基本理念(而
文件
恰好实现了与PHP中预先存在的本机函数相同的功能)。@Anthony谢谢Anthony,我感谢您的评论/upvote,干杯 name1 name2
<?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);

}
<?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
user1
user2
user3
 $user_list = file("users.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
 if ( isset($_SESSION['username'] ) && in_array($_SESSION['username'], $user_list ) ) {}