如何打开 php 上带有变量(数组)名称的文件?
How can I open a file with a variable (array) name on php?
我尝试编写一个 php 脚本,用于从服务器获取 1 个主文件并读取该文件,将其分解(使用“:”字符)并将其保存为一个数组,然后我将数组中的变量写入一个txt 文件每个新行。然后我可以逐行读取这个文件,但是我不能用 fopen($variable, 'r');
打开任何文件。我的变量是; $variable = $array[1]."txt";
.
我的代码;
<?php
$file = file("toplist.txt");
$countLine = count($file);
$userMain = array();
$userMain[0] = "Top List";
$userNames = array();
$userNames[0] = "SampleName";
for ($i=1;$i<$countLine;$i++){
$user = explode (":",$file[$i],-1);
$userMain[$i] = $user[0];
echo $userMain[$i]."<br>"; //Test echo
}
$totalLn = count($userMain);
echo $totalLn; //Echo total line.
$myFile = $userMain[1].".txt";
$fileAA = fopen($myFile,'r');
while($line = fgets($fileAA))
$data[] = $line;
fclose($fileAA);
for ($counter = 0; $counter <= 5 ; $counter++ )
{
echo "<i>".$data[$counter]."</i><br />";
}
?>
我的toplist.txt文件;
toplist:
54df3a11-3ea0-37c4-8ec4-0fdd45f2e069: 211
我有一个名为 54df3a11-3ea0-37c4-8ec4-0fdd45f2e069.txt
的文件。
和54df3a11-3ea0-37c4-8ec4-0fdd45f2e069.txt
文件内容;
name : SampleName123
destination : SampleDestination
SampleContent : SampleContent
我需要名称行,只需要 SampleName123
。
如果文件内容始终相同,取第一行并使用 substr($str, 0, 7); // Outputs: SampleName123
$contents = file_get_contents($array[1]."txt");
$rows = explode("\n",$contents);
$user = [];
foreach($rows as $row){
$parts = explode(" : ",$row);
$user[$parts[0]] = $parts[1];
}
在此解析之后,您可以将用户作为数组访问。
$user['name']
你也可以做listing:
$file = file($user['name'].".txt"); //Reads entire file into an array
foreach($file as $row){
echo "<i>".$row."</i><br />";
}
PS:它正在工作,但需要使用 trim() 函数从 .txt 文件中获取文件名
我尝试编写一个 php 脚本,用于从服务器获取 1 个主文件并读取该文件,将其分解(使用“:”字符)并将其保存为一个数组,然后我将数组中的变量写入一个txt 文件每个新行。然后我可以逐行读取这个文件,但是我不能用 fopen($variable, 'r');
打开任何文件。我的变量是; $variable = $array[1]."txt";
.
我的代码;
<?php
$file = file("toplist.txt");
$countLine = count($file);
$userMain = array();
$userMain[0] = "Top List";
$userNames = array();
$userNames[0] = "SampleName";
for ($i=1;$i<$countLine;$i++){
$user = explode (":",$file[$i],-1);
$userMain[$i] = $user[0];
echo $userMain[$i]."<br>"; //Test echo
}
$totalLn = count($userMain);
echo $totalLn; //Echo total line.
$myFile = $userMain[1].".txt";
$fileAA = fopen($myFile,'r');
while($line = fgets($fileAA))
$data[] = $line;
fclose($fileAA);
for ($counter = 0; $counter <= 5 ; $counter++ )
{
echo "<i>".$data[$counter]."</i><br />";
}
?>
我的toplist.txt文件;
toplist:
54df3a11-3ea0-37c4-8ec4-0fdd45f2e069: 211
我有一个名为 54df3a11-3ea0-37c4-8ec4-0fdd45f2e069.txt
的文件。
和54df3a11-3ea0-37c4-8ec4-0fdd45f2e069.txt
文件内容;
name : SampleName123
destination : SampleDestination
SampleContent : SampleContent
我需要名称行,只需要 SampleName123
。
如果文件内容始终相同,取第一行并使用 substr($str, 0, 7); // Outputs: SampleName123
$contents = file_get_contents($array[1]."txt");
$rows = explode("\n",$contents);
$user = [];
foreach($rows as $row){
$parts = explode(" : ",$row);
$user[$parts[0]] = $parts[1];
}
在此解析之后,您可以将用户作为数组访问。
$user['name']
你也可以做listing:
$file = file($user['name'].".txt"); //Reads entire file into an array
foreach($file as $row){
echo "<i>".$row."</i><br />";
}
PS:它正在工作,但需要使用 trim() 函数从 .txt 文件中获取文件名