在文本文件中读取一行并在PHP中将其用作变量

时间:2020-04-19 05:27:27

标签: php

大家好,我现在两天都遇到这个问题,需要您的帮助。

我想通过数组在我的php curlopt中使用代理,在进行下一个代理之前,将使用一个代理五次。

根据Google搜索者在两个页面上得知的唯一信息是:

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

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

但是当我回显数组时,它会显示文本文件中的所有代理,而不仅仅是导致无法读取curl的代理:

curl_setopt($ch, CURLOPT_PROXY, $poxySocks4);

有什么方法可以使用一个代理五次,然后再进行另一次?请帮助我。

编辑:这是完整的代码:

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);

1 个答案:

答案 0 :(得分:0)

您可以使用file(),它将在文件的行列表中读取为数组的单独行。这样省去了打开/读取/分割文件的麻烦。

然后在此列表上使用foreach()for()循环来做重复部分...

$proxies = file( $fileName, FILE_IGNORE_NEW_LINES);

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