我想将文本文件的内容传递给网址。所以我使用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。
答案 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: ')