PHP注意:未定义索引:url
我为什么会犯这个错误PHP注意:未定义索引:url,php,Php,我为什么会犯这个错误 PHP Notice: Undefined index: url on line 40 从我的代码中,该代码用于从网站获取电影链接,但当我试图获取链接时,我得到了错误,因此有人可以为我指出解决问题的正确方向 public function getMovieEmbeds($title) { $misc = new Misc(); //Step1 find key $movie_url = null; $html = file_get_ht
PHP Notice: Undefined index: url on line 40
从我的代码中,该代码用于从网站获取电影链接,但当我试图获取链接时,我得到了错误,因此有人可以为我指出解决问题的正确方向
public function getMovieEmbeds($title) {
$misc = new Misc();
//Step1 find key
$movie_url = null;
$html = file_get_html('http://www.primewire.ag/');
$elements = $html->find('input[name=key]',0);
$key = null;
if(!is_null($elements)){
$key = $elements->value;
}
if(is_null($key)){
return array();
}
//Step2 do search...
$search = urlencode($title);
$html = file_get_html("http://www.primewire.ag/index.php?search_keywords=$search&key=$key&search_section=1");
$elements = $html->find(".index_item h2");
if(!is_null($elements)){
foreach($elements as $element){
$element_title = strtolower(strip_tags(trim(preg_replace('/\s*\([^)]*\)/', '', $element->innertext))));
if ($element_title == strtolower(trim($title))) {
$parent = $element->parent();
$movie_url = "http://primewire.ag".$parent->href;
break;
}
}
}
if (is_null($movie_url)) {
return array();
}
//Step3 get embeds
$html = file_get_html($movie_url);
$elements = $html->find(".movie_version_link a");
if(!is_null($elements)){
foreach($elements as $element){
$encoded_url = "http://primewire.ag".$element->href;
$query = parse_url($encoded_url, PHP_URL_QUERY);
parse_str($query,$op);
error came from ---> $link = base64_decode($op["url"]); <--- here
if(strpos($link, "affbuzzads")===false && strpos($link, "webtrackerplus")===false){
$embed = $misc->buildEmbed($link);
if ($embed) {
$embeds[] = array(
"embed" => $embed,
"link" => $link,
"language" => "ENG",
);
}
}
}
return $embeds;
}
return array();
}
公共函数GetMovieEmbeddes($title){
$misc=新的misc();
//步骤1查找密钥
$movie_url=null;
$html=file\u get\u html('http://www.primewire.ag/');
$elements=$html->find('input[name=key]',0);
$key=null;
如果(!为null($elements)){
$key=$elements->value;
}
如果(为空($key)){
返回数组();
}
//第二步做搜索。。。
$search=urlencode($title);
$html=文件\u获取\u html(“http://www.primewire.ag/index.php?search_keywords=$search&key=$key&search_section=1“;
$elements=$html->find(“.index_item h2”);
如果(!为null($elements)){
foreach($elements作为$element){
$element\u title=strtolower(strip\u标签(trim(preg\u replace('/\s*\([^)]*\)/',''$element->innertext)));
如果($element_title==strtolower(修剪($title))){
$parent=$element->parent();
$movie_url=”http://primewire.ag“$parent->href;
打破
}
}
}
如果(为空($movie_url)){
返回数组();
}
//步骤3获取嵌入
$html=file\u get\u html($movie\u url);
$elements=$html->find(“.movie\u version\u link a”);
如果(!为null($elements)){
foreach($elements作为$element){
$encoded_url=”http://primewire.ag“$element->href;
$query=parse\u url($encoded\u url,PHP\u url\u query);
parse_str($query,$op);
错误来自-->$link=base64_解码($op[“url”]);buildEmbed($link);
如果($embed){
$embeds[]=数组(
“嵌入”=>$embed,
“link”=>$link,
“语言”=>“英语”,
);
}
}
}
返回$embeds;
}
返回数组();
}
有人能帮我一下吗?这将非常有帮助。parse\u str在URL上返回一个参数数组,就好像它在$\u GET数组中一样 仅当您使用的url具有参数“url”时,它才会包含“url”值 例如,它是沿着以下路线进行的:
http://example.com/?url=urlvalue
因此,如果$element->href(因此$encoded_url和$query)中不包含名为“url”的参数,则无法在“url”的$op数组中获得索引
请参阅此处的文档:du已完成var_转储($op),并查看是否有索引名和url?如果您不知道这些网站在英国已被阻止