[PHP]代码
<?php //搜索链接 function search_link($moviename) { //构造url,其中max-results可根据需要更改 $urlString = 'http://api.douban.com/movie/subjects?q='.$moviename.'&start-index=1&max-results=1&alt=json'; //print_r($urlString); $urlString=mb_convert_encoding($urlString, "UTF-8", "GBK");//将Url转换为utf-8编码 $r = new HttpRequest($urlString,HttpRequest::METH_GET);//请求 $response = $r->send(); $result = $r->getResponseBody(); $obj = json_decode($result);//解析成json格式 if($entry = @$obj->{'entry'}){ //搜索链接并存在数组中返回 for($i = 0;$i<sizeof($entry);$i++){ $link=$entry[$i]->{'link'}; for($j = 0;$j<sizeof($link);$j++){ $arr = (array)$link[$j]; $key = array_search("self",$arr); if($key){ //判断key是否存在 $str = $arr["@href"].'?alt=json'; //构造返回链接的格式 break; } } $link_array[] = $str; } return $link_array;//返回链接 } else echo"Not Found!"; } //查询链接并将各变量放入$GLOBAL 数组 function get_info($urlString) { $r = new HttpRequest($urlString,HttpRequest::METH_GET); $response = $r->send(); $result = $r->getResponseBody(); //if..else.. 判断打开链接是否为空 if ($obj = json_decode($result)){ //将影片的信息放在全局数组中 $title = $obj->{'title'}; $author = $obj->{'author'}; $summary = $obj->{'summary'}; $ID=$obj->{'id'}; $link = $obj->{'link'}; $gd = (array)$obj->{'gd:rating'}; $db_array = array(); $db = $obj->{'db:attribute'}; //将db:atribute中的值放进数组 foreach ($db as $value){ $value_array = (array)($value); $v = $value_array["@name"]; $k = $value_array["\$t"]; if (array_key_exists("@lang",$value_array)){ $lang=$value_array["@lang"]; $k=$k.'['.$lang.']'; } $db_array[$v][]=$k; } //设定对应数组的键值 @$db_array_key = array('【影片原名】','【别 名】','【导 演】','【编 剧】','【官方网站】','【IMDB链接】','【出品年代】', '【国 家】','【电影类型】','【上映日期】','【放映长度】','【集 数】','【语 言】','【演 员】'); @$db_array_value = array($db_array["title"],$db_array["aka"],$db_array["director"],$db_array["writer"],$db_array["website"], $db_array["imdb"],$db_array["year"],$db_array["country"],$db_array["movie_type"],$db_array["pubdate"], $db_array["movie_duration"],$db_array["episodes"],$db_array["language"],$db_array["cast"]); @$db_array = array_combine($db_array_key,$db_array_value); } else{ echo "Empty link!"; } $info=array("title"=>$title,"author"=>$author,"summary"=>$summary,"ID"=>$ID,"link"=>$link,"gd"=>$gd,"db_array"=>$db_array); return $info; } //将影片信息写入文件 function write_info($fi,$info) { //fwrite($fi, "******");写入文件 fwrite($fi, "【影片原名】"); foreach ($info["title"] as $k=>$v) fwrite($fi,"$v\r\n"); fwrite($fi,"\r\n"); fwrite($fi,"【出 品 人】"); foreach ($info["author"] as $value) foreach ($value as $key) foreach ($key as $v) { fwrite($fi,"$v\r\n"); } fwrite($fi,"\r\n"); //db:attribute foreach ($info["db_array"] as $key=>$value){ if(count($value)){ fwrite($fi,$key); if($value==$info["db_array"]['【演 员】']){ foreach($value as $k=>$v) fwrite($fi,"$v\r\n "); } else{ foreach($value as $k=>$v) fwrite($fi,"$v "); fwrite($fi,"\r\n"); } } } fwrite($fi,"\r\n"); //影片简介 fwrite($fi, "【简 介】\r\n"); foreach ($info["summary"] as $k=>$v){ fwrite($fi," $v \r\n"); } fwrite($fi,"\r\n"); //ID fwrite($fi,"【I D】"); foreach ($info["ID"] as $k=>$v){ fwrite($fi,$v); } fwrite($fi,"\r\n"); //链接 fwrite($fi,"【链 接】\r\n"); foreach ($info["link"] as $value){ foreach ($value as $k=>$v){ fwrite($fi, " $v "); } fwrite($fi,"\r\n"); } fwrite($fi,"\r\n"); //评论 fwrite($fi,'【评 论】'); fwrite($fi,$info["gd"]["@numRaters"]); fwrite($fi,"\r\n"); fwrite($fi,'【最高】'); fwrite($fi,$info["gd"]["@max"]); fwrite($fi," 【最低】");fwrite($fi,$info["gd"]["@min"]); fwrite($fi,' 【平均】');fwrite($fi, $info["gd"]["@average"]); fwrite($fi,"\r\n"); } //在指定的文件夹中寻找电影并返回电影名 function find_dir($dir) { if(is_dir($dir)){ //判断所给路径名是否为目录 if($fdir=opendir($dir)){ //打开目录 while(false!==($file=readdir($fdir))){ //遍历目录中的文件 if ($file != "." && $file != "..") $files[]=$file; //将寻找到的文件放入数组并返回 } closedir($fdir); print_r($file); return $files; } } } //将生成的txt文件放在指定的目录下 function write_to_dir($dir,$moviename) { if (is_dir($dir)){ //判断所给路径名是否为目录 if($fdir=opendir($dir)){ //打开目录 while(false!==($file=readdir($fdir))){ //遍历目录中的文件 if ($file != '.' && $file != '..') { $dirname=$dir.'\\'.$file; if (is_dir($dirname)&&$file==$moviename) { //寻找指定的文件夹 $filename=$dirname.'\\'.$moviename.'.txt'; //if(!file_exists($filename)){ if($fi=fopen($filename,'w+')){ //打开指定文件,若不存在,建立文件并返回 closedir($fdir); return $fi; }else echo"Fail to Open file!"; //} } else echo "Dir Not Exists!"; } } } else { echo 'Fail to Open!'; return; } } else { echo 'Directory Not Exists!'; return; } } $dir = 'E:\film'; if($movienames = @find_dir($dir)){ //在指定目录中获得电影名,进行搜索 foreach ($movienames as $key=>$moviename){ if($link_info = search_link($moviename)){ //搜索影片名 if ($fi=write_to_dir($dir,$moviename)){ //写入指定文件夹 fwrite($fi,"<Resources>\r\n"); fwrite($fi,'<MesageBody>'); fwrite($fi,"\r\n\r\n\r\n".'※※※※※※※※※※※※※※※※※※※※※ 影片信息 ※※※※※※※※※※※※※※※※※※※※※'."\r\n"); foreach ($link_info as $k){ $info=get_info($k); //获取链接信息 write_info($fi,$info); //在txt文件中写入信息 fwrite($fi,"*************************************************************************************************\r\n"); } fclose($fi);//写入完成,关闭文件 } } else echo "Empty!"; } } else echo "Movies Not Exists!"; ?>

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。