【发布时间】:2017-06-06 18:46:56
【问题描述】:
我的数据库中有多个 url,想在不使用 php 得到响应的情况下点击它们。
有没有办法做到这一点..
【问题讨论】:
-
你可以用任何你能想象到的在服务器上运行的语言来做到这一点 - 但如果你的服务器运行 PHP 并且你的选择仅限于该一种语言
-
我想在不使用数据库的情况下从后端访问 url
我的数据库中有多个 url,想在不使用 php 得到响应的情况下点击它们。
有没有办法做到这一点..
【问题讨论】:
public function multiUrlUsingCurl($urls)
{
$sg = curl_multi_init();
$results = array();
foreach ($urls as $key => $url) {
$results[$key] = curl_init();
curl_setopt_array($results[$key], array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true
));
curl_multi_add_handle($sg, $results[$key]);
}
$flag = null;
do {
$status = curl_multi_exec($sg, $flag);
}
while ($flag);
foreach ($results as $res) {
echo curl_multi_getcontent($res);
curl_multi_remove_handle($sg, $res);
curl_close($res);
}
curl_multi_close($sg);
}
【讨论】:
然后您必须将您的条目保存在一个文件中,可以是 ASCII 格式,也可以是 json 等序列化字符串,或者您可以将其保存为 xml。但我建议您将其保存为 json 字符串。它非常简单。
编辑:
帮助您入门的快速 sn-p:
function getUrlList($fileName)
{
if(file_exists($fileName)) {
return json_decode(file_get_contents($fileName), true);
}
return array();
}
function saveUrl($fileName, $newUrl)
{
if(file_exists($fileName)) {
$list = json_decode(file_get_contents($fileName), true);
$list = array_merge($list, $newUrl);
file_put_contents($fileName, json_encode($list));
return true;
}
return false;
}
$fileName = 'myFileDB.json';
$UrlToSave = array('id' => uniqid(), 'url' => someUrlYouWantToSave);
saveUrl($fileName, $urlToSave); // To save Url
// To get List
$urlsList = getUrlList($fileName);
您可以从那里扩展功能以编辑 url 或进行一些其他操作来操作数据。您还必须确保要保存 url 的文件中有一个空的 json 字符串。您可以编写一些逻辑来执行此操作,或者为了简单起见将 {} 放在一个文件中。
【讨论】: