Jump to content

[SOLVED] Read multiple files


PunjabHaker

Recommended Posts

[b]passwords.txt contain:[/b]
user1 pass1
user2 pass2
[b]sites.txt contain:[/b]
site1
site2
[b]Code:[/b]
<?php
$handle = fopen("passwords.txt", "r");
$lines = file('sites.txt');
foreach ($lines as $line_num => $site) {
while ($userinfo = fscanf($handle, "%s\t%s")) {
list ($user, $pass) = $userinfo;
print "$site : $user : $pass \n";
}
}
?>
[b]I need it to show me like that:[/b]
site1 : user1 : pass1
site1 : user2 : pass2
site2 : user1 : pass1
site2 : user2 : pass2
[b]Question:[/b] Where i'm wrong ?
Link to comment
https://forums.phpfreaks.com/topic/32413-solved-read-multiple-files/
Share on other sites

Having got to the end of file for passwords.txt when you process site1 you need to "rewind()" it for site2

[code]
<?php
$handle = fopen("passwords.txt", "r");
$lines = file('sites.txt');
foreach ($lines as $site) {
    while ($userinfo = fscanf($handle, "%s %s")) {
        list ($user, $pass) = $userinfo;
        print "$site : $user : $pass <br>\n";
    }
    rewind($handle);
}
fclose ($handle);
?>
[/code]
When you use file() the linefeeds are retained. Use trim() to remove

[code]
<?php
$handle = fopen("passwords.txt", "r");
$lines = file('sites.txt');
foreach ($lines as $site) {
    while ($userinfo = fscanf($handle, "%s %s")) {
        $site = trim($site);                                    // <-- add this line
        list ($user, $pass) = $userinfo;
        print "$site : $user : $pass <br>\n";
    }
    rewind($handle);
}
fclose ($handle);
?>
[/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.