我是编程的新手,我使用PHP制作了一个页面,让我们可以输入用户ID并使用Canvas API添加观察者并且效果很好。我现在正在尝试输入要观察的人员列表并让它处理多个URL,这就是我遇到问题的地方。它似乎只处理框中的最终用户标识。
任何想法我做错了什么?这不需要经常运行,我不担心性能,所以我不需要同时处理cURL命令。
$observeeA = explode ("\n", $observee);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
foreach ($observeeA as $ob2){
if ($idtype == "Canvas") {
$url = $domain . "/api/v1/users/$observer/observees/" . $ob2; }
else {
$url = $domain . "/api/v1/users/sis_user_id:$observer/observees/sis_user_id:" . $ob2; }
curl_setopt($ch, CURLOPT_URL, $url);
$resp = curl_exec($ch);
echo $ob2 . "<br>" . $url . "<br>" . $resp . "<br>";
}
curl_close($ch);
第13行的回显输出了URL的所有正确条目,但在列表中的最后一个条目之前它永远不会得到响应。
答案 0 :(得分:0)
事实证明,使用explode函数将字符串存储到数组中包含额外的隐藏返回字符,所以我添加了$ ob2 = trim($ ob2);进入foreach循环,它现在可以工作。