如何将文本文件的内容作为url参数传递

时间:2016-03-24 15:12:42

标签: php

我想将文本文件的内容传递给网址。所以我使用fgets函数逐行读取文件的内容并将其存储在一个字符串中,然后将其传递给相关的url。但由于某种原因,它不起作用。我该怎么做或将文本文件的内容作为参数传递到网址中。

$handle= fopen("/path/to/file/filename.txt","r");
while(($line=fgets($handle))!==false) {        
    $msisdn=str_replace("\n", " ", $line);
}
$send="http://127.0.0.1:13014/cgi-bin/sendsms?username=tester&password=foobar&text=text&from=shortcode&to=$msisdn&smsc=smsc";
fclose($handle);

   $curl=curl_init();
   curl_setopt($curl,CURLOPT_URL,$send);
   curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
   $result=curl_exec($curl);
   curl_close($curl)

编辑:我能够将文件的内容(这是一个数字列表)传递给字符串" $ msisdn"但是网址的回显显示它只选择一个数字。如何将文件的所有内容传递给url。

2 个答案:

答案 0 :(得分:0)

$handle= fopen("/path/to/file/filename.txt","r");
  while(($line=fgets($handle))!==false){        
     $msisdn=str_replace("\n", " ", $line);
  }
$send="http://127.0.0.1:13014/cgi-bin/sendsms?username=tester&password=foobar&text=text&from=$shortcode.&to=$msisdn&smsc=smsc";
fclose($handle);

header('Location: '.$send);

答案 1 :(得分:0)

第一:永远不会在网址中传输机密数据=>安全问题
第二:始终验证您的函数的返回值=>您无法保证文件已成功打开
第三:你文件的结构是什么?我们应该猜吗? 第4次:尝试使用类似的东西实现更好的实施

$params = array ('username' => $username,
                 'text'     => $text);
$preparedParams = array();
foreach($params as $paramKey => $paramValue) {
   // do control if $paramValue is valid ... log error .. throw something
   $preparedParams[] = $paramKey . '=' . $paramValue ;
}
$urlParams = explode ('&', $preparedParams);
header('Location: ' . YOUR_SERVER:PORT/YOUR_CONTROLLER/ . $urlParams;

我的建议是使用PHP CURL代替header('Location: ')