php

How can I read one line in textfile and use it as variable in PHP?


I want to use proxy in my php curlopt via array and one proxy will be used five times before proceeding to the next proxy.

The only thing I know based on Google searches over two pages are:

$fp = @fopen($filename, 'r'); 

// Add each line to an array
if ($fp) {
   $array = explode("\n", fread($fp, filesize($filename)));
}

But when I echo the array it shows all proxies in the textfile and not just one which results to not reading in the curl:

curl_setopt($ch, CURLOPT_PROXY, $poxySocks4);

Is there any way to use one proxy five times then proceed to another?

Here is the full code:

function binsforeveryoneproxys()
{ 
$fileName='joestar.txt'; //textfile
$proxies = file($fileName, FILE_IGNORE_NEW_LINES);
  foreach ( $proxies as $proxy )  {
    echo $proxy; 
    return  $proxies; 
}
}
$saitama= binsforeveryoneproxys();

curl_setopt($ch, CURLOPT_PROXY, $saitama);
curl_setopt($ch, CURLOPT_URL, ''); 
curl_setopt($ch, CURLOPT_USERAGENT, getcwd().'/cookie.txt'); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 
'accept: application/json',
'content-type: application/x-www-form-urlencoded',
'origin: ',
'referer: '
)); 

//////////////////////////// POSTFIELD 1 ////////////////////////// 
curl_setopt($ch, CURLOPT_POSTFIELDS, '');

$result = curl_exec($ch);

Solution

  • You can use file() which will read in the list of lines in the file into separate lines of the array. This saves having to open/read/split the file.

    Then use a foreach() over this list with a for() loop to do the repeating part...

    $proxies = file( $fileName, FILE_IGNORE_NEW_LINES);
    
    foreach ( $proxies as $proxy )  {
        echo $proxy.PHP_EOL;
        for ( $i = 0; $i < 5; $i++ )    {
            // .....
        }
    }