我是编程新手,我使用 PHP 制作了一个页面,让我们使用 Canvas API 输入用户 ID 并添加观察者,效果很好。我现在正在尝试输入要观察的人员列表并让它处理多个 URL,这就是我遇到问题的地方。它似乎只处理框中的最终用户 ID。
知道我做错了什么吗?这不需要经常运行,我也不担心性能,所以我真的不需要同时处理 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 行的 echo 输出 URL 的所有正确条目,但在列表中的最后一个条目之前,它永远不会得到响应。
事实证明,使用 explode 函数将字符串存储到数组中包括额外的隐藏返回字符,所以我添加了 $ob 2 = trim($ob 2); 到 foreach 循环中,它现在可以工作了。