1、loadXML 是载入 XML 文档串,load 才是载入 XML 文件
2、你那个 url 有用户性质判断,用 load 并不能加载, 用 file_get_contents 也读取不到
3、所以只能用 curl(已经给过了)或 sock 读取
$url = "http://www.cailele.com/static/ssc/newlyopenlist.xml";
$t = parse_url($url);$out = array(
  "GET $t[path] HTTP/1.0",
  "User-Agent: $_SERVER[HTTP_USER_AGENT]",
  "Host: $t[host]",
  'Connection: Close',
  '', ''
);
$fp = fsockopen($t['host'], 80, $errer, $errno, 1);
fwrite($fp, join("\r\n", $out) );
$s = '';
while(! feof($fp)){
  $s .= fread($fp, 1024);
}
list(, $s) = explode("\r\n\r\n", $s);$doc = new DOMDocument();
$doc->loadXML($s);
$lst = $doc->getElementsByTagName('row');
for ($i=0; $i<2; $i++) {
  $iframe= $lst->item($i);
  $t1=$iframe->attributes->getNamedItem('expect')->value;
  $t2=$iframe->attributes->getNamedItem('opencode')->value;
  $t3=$iframe->attributes->getNamedItem('opentime')->value;
  $t1=substr($t1,-9);
  var_dump($t2,1,$t1,$t3);
}
string(9) "4,9,6,4,4"
int(1)
string(9) "140508023"
string(19) "2014-05-08 01:55:30"
string(9) "1,5,0,0,5"
int(1)
string(9) "140508022"
string(19) "2014-05-08 01:50:30"

解决方案 »

  1.   

    <?php
    error_reporting(255);
    ini_set("error_reporting","E_ALL & ~E_NOTICE");
    require_once 'conn.php'; $url="http://cp.swlc.sh.cn/cams/xml/award_02.xml"; $doc = new DOMDocument();
    $doc->load($url); //读取xml文件
    $lst = $doc->getElementsByTagName('p');
    for ($i=0; $i<1; $i++) {
    $iframe= $lst->item($i);
    $t1=$iframe->attributes->getNamedItem('id')->value;
    $t1 = substr($t1,2,6).substr($t1,-2);
    $t2=$iframe->attributes->getNamedItem('c')->value;
    $t3=$iframe->attributes->getNamedItem('t')->value;
    // echo $t1.$t2.$t3."<br>";
    kjdata($t2,5,$t1,$t3);
    }
     
    ?>
    以上这段代码是正常的 可以输出的  经过您修改后的代码输出虽然正常但是无法加入数据库了
    string(9) "8,8,5,6,5" int(1) string(9) "140508056" string(19) "2014-05-08 15:20:30" string(9) "2,6,5,7,9" int(1) string(9) "140508055" string(19) "2014-05-08 15:10:30"  
    我需要的采集效类似这样   xxxxxx第14050810期:4,7,5   xxxxx第140508033期:1,5,7,6,3 突然发现2个差不多的帖子 不过放在我这里无法使用
    http://bbs.csdn.net/topics/390768633
    http://bbs.csdn.net/topics/390765117
      

  2.   

    采用第一种后http://bbs.csdn.net/topics/390768633错误为
    Fatal error: Cannot redeclare kjdata() (previously declared in D:\WwwRoot\ht\ChinaAdmin\query1.php:32) in D:\WwwRoot\ht\ChinaAdmin\conn.php on line 356
    采用第二种http://bbs.csdn.net/topics/390765117错误为
    Fatal error: Cannot redeclare kjdata() (previously declared in D:\WwwRoot\ht\ChinaAdmin\query1.php:18) in D:\WwwRoot\ht\ChinaAdmin\conn.php on line 356是否是CONN.PHP这个文件代码有问题呢?
      

  3.   

    conn.php的代码如下:
    <?php
    set_magic_quotes_runtime(0);
    @header("content-Type: text/html; charset=utf-8");
    define('PHPYOU','v1.0');if(function_exists('date_default_timezone_set')) { @date_default_timezone_set('Etc/GMT-8');}$conn = mysql_pconnect( "localhost", "root", "******" );
    if (!$conn)
      {
      die('Could not connect: ' . mysql_error());
      }mysql_select_db( "sj" );
    mysql_query( "SET NAMES 'utf8'" );$sqlzz = "select * from ssc_config";
    $rszz = mysql_query($sqlzz);
    $rowzz = mysql_fetch_array($rszz);
    $webzt=$rowzz['ht'];
    $count=$rowzz['counts'];
    $webname=$rowzz['webname'];
    $gourl=$rowzz['rurl'];function amend($rrr){   
    require_once 'ip.php';
    $ip1 = $_SERVER['REMOTE_ADDR'];
    $iplocation = new iplocate();
    $address=$iplocation->getaddress($ip1);
    $iparea = $address['area1'].$address['area2']; $exe = mysql_query( "insert into ssc_manageramend set uid = '".$_SESSION["aid"]."',username = '".$_SESSION["ausername"]."', cont='".$rrr."', ip='".$ip1."', area='".$iparea."', adddate='".date("Y-m-d H:i:s")."'");
    //return $rrr;
    }function dfan($rrr,$lid){   
    if($lid=="12"){
    if($rrr>9.5){
    $rrr=$rrr-9.5;
    }else{
    $rrr=0;
    }
    }
    return $rrr;
    }function dfan2($rrr1,$rrr2,$lid){   
    if($lid=="12"){
    if($rrr2>9.5){
    $rrr=$rrr1-$rrr2;
    }else{
    $rrr=0;
    }
    }else{
    $rrr=$rrr1-$rrr2;
    }
    return $rrr;
    }function dlid($rrr,$lid){   
    if($lid=="4"){
    // $rrr="20".substr($rrr,0,6)."-".substr($rrr,-3);
    }else if($lid=="7" || $lid=="11"){
    $rrr="20".substr($rrr,0,6)."-".substr($rrr,-2);
    }
    return $rrr;
    }function ddlid($rrr,$lid){   
    if($lid=="4"){
    // $rrr=substr(str_replace("-","",$rrr),-9);
    }else if($lid=="7" || $lid=="11"){
    $rrr=substr(str_replace("-","",$rrr),-8);
    }
    return $rrr;
    }function judgez($rrr){   
    if($rrr<0){
    $rrr=0;
    }
    return $rrr;
    }function dcode($rrr,$lid){   
    if(strpos($rrr,"|")===false){
    $rrr=str_replace("&",",",$rrr);
    }else{
    $rrr=str_replace("|",",",$rrr);
    if($lid=="6" || $lid=="7" || $lid=="8" || $lid=="11"){
    $rrr=str_replace("&"," ",$rrr);
    }else{
    $rrr=str_replace("&","",$rrr);
    }
    }
    return $rrr;
    }function Get_member($rrr){
    $result=mysql_query("Select * from ssc_member where username='".$_SESSION["username"]."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa[$rrr];
    }function Get_canceldate($rrr,$sss){
    if($rrr<5){
    $sss1=substr($sss,-3);
    }else{
    $sss1=substr($sss,-2);
    }
    $result=mysql_query("Select * from ssc_nums where cid='".$rrr."' and nums='".$sss1."'"); 
    $raa=mysql_fetch_array($result);//$sss2="20".substr($sss,0,2)."-".substr($sss,2,2)."-".substr($sss,4,2);
    $sss2=date("Y-m-d H:i:s",mktime(substr($raa['endtimes'],0,2),substr($raa['endtimes'],3,2),substr($raa['endtimes'],6,2),substr($sss,2,2),substr($sss,4,2),"20".substr($sss,0,2)));
    //$rrr=$raa['endtime'];
    return $sss2;
    }function Get_rate($rrr){
    $result=mysql_query("Select * from ssc_class where mid='".$rrr."'"); 
    $raa=mysql_fetch_array($result);
    return $raa['rates'];
    }function Get_mname($rrr){
    $result=mysql_query("Select * from ssc_member where id='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['username'];
    }function Get_aname($rrr){
    $result=mysql_query("Select * from ssc_manager where id='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['username'];
    }function Get_cname($rrr){
    $result=mysql_query("Select * from ssc_bankcard where id='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['username'];
    }function Get_mrebate($rrr){
    $result=mysql_query("Select * from ssc_member where id='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['rebate'];
    }function Get_memid($rrr){
    $result=mysql_query("Select * from ssc_member where username='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['id'];
    }function Get_mmoney($rrr){
    $result=mysql_query("Select * from ssc_member where id='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['leftmoney'];
    }function Get_mmoneys($rrr){
    $result=mysql_query("Select * from ssc_member where username='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['leftmoney'];
    }function Get_online($rrr){   
    $result=mysql_query("Select count(*) as nums from ssc_online where username='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['nums'];
    }function Get_xj($rrr){   //下级
    $result=mysql_query("Select count(*) as nums from ssc_member where regup='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['nums'];
    }function Get_mid($rrr){   
    $result=mysql_query("Select * from ssc_class where mid='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['name'];
    }function Get_lottery($rrr){   
    $result=mysql_query("Select * from ssc_set where id='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['name'];
    }function Get_province($rrr){   
    $result=mysql_query("Select * from ssc_province where pid='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['name'];
    }function Get_bank($rrr){   
    $result=mysql_query("Select * from ssc_banks where tid='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['name'];
    }function Get_city($rrr){   
    $result=mysql_query("Select * from ssc_city where cid='".$rrr."'"); 
    $raa=mysql_fetch_array($result); 
    return $raa['name'];
    }function rep_str($rrr){   
    $repa=str_replace(":","",$rrr);
    $repa=str_replace(",","",$repa);
    return $repa;
    }function kjdata($t2,$cid,$t1,$t3){
    if($t2!=""){
    $t4=split(",",$t2);
    $n1=$t4[0];
    $n2=$t4[1];
    $n3=$t4[2];
    // echo $row['id'];
    if($cid!=5 && $cid!=9){
    $n4=$t4[3];
    $n5=$t4[4];
    }
    }
    $n1=intval($n1);
    $n2=intval($n2);
    $n3=intval($n3);
    $n4=intval($n4);
    $n5=intval($n5);

    echo Get_lottery($cid)."第".$t1."期:".$t2."<br>";

    $sql = "select * from ssc_data where cid='".$cid."' and issue='".$t1."'";
    // echo $sql."<br>";
    $rsa = mysql_query($sql);
    $rowa = mysql_fetch_array($rsa);
    $tts=0;
    if($cid==1 || $cid==2 || $cid==3 || $cid==4){
    if($n1=="0" && $n2=="0" && $n3=="0" && $n4=="0" && $n5=="0"){$tts=1;}
    if($n1>9 || $n2>9 || $n3>9 || $n4>9 || $n5>9){$tts=1;}
    }else if($cid==5){
    if($n1=="0" && $n2=="0" && $n3=="0"){$tts=1;}
    if($n1>9 || $n2>9 || $n3>9){$tts=1;}
    }else if($cid==6 || $cid==7 || $cid==8 || $cid==11){
    if($n1=="0" && $n2=="0" && $n3=="0" && $n4=="0" && $n5=="0"){$tts=1;}
    if($n1>11 || $n2>11 || $n3>11 || $n4>11 || $n5>11){$tts=1;}
    }else if($cid==9){
    if($n1=="0" && $n2=="0" && $n3=="0"){$tts=1;}
    if($n1>9 || $n2>9 || $n3>9){$tts=1;}
    }else if($cid==10){
    if($n1=="0" && $n2=="0" && $n3=="0" && $n4=="0" && $n5=="0"){$tts=1;}
    if($n1>9 || $n2>9 || $n3>9 || $n4>9 || $n5>9){$tts=1;}
    }

    if(empty($rowa)){
    if($tts==0){
    $sql="INSERT INTO ssc_data set cid='".$cid."', name='".Get_lottery($cid)."', issue='".$t1."', code='".$t2."', n1='".$n1."', n2='".$n2."', n3='".$n3."', n4='".$n4."', n5='".$n5."', opentime='".$t3."', addtime='".date("Y-m-d H:i:s")."'";
    // echo $row['name']."第".$t1."期:".$t2."<br>";
    $exe=mysql_query($sql) or  die("数据库修改出错!!!!".mysql_error());
    }
    }else{
    if($rowa['zt']!="1"){
    if($rowa['sign']>5){ }else{
    $sqls="update ssc_data set sign=sign+1 where id ='".$rowa['id']."'";
    $rss=mysql_query($sqls) or  die("数据库修改出错1".mysql_error());
    }
    }
    }
    function determinebrowser ($Agent) {  
    $browseragent="";   //浏览器  
    $browserversion=""; //浏览器的版本  
    if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) {  
    $browserversion=$version[1];
    $browseragent="Internet Explorer";
    } else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) {  
    $browserversion=$version[1]; 
    $browseragent="Opera";  
    } else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) {  
    $browserversion=$version[1];  
    $browseragent="Firefox";  
    }else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) {  
    $browserversion=$version[1];  
    $browseragent="Chrome";  
    }else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) {  
    $browseragent="Safari";  
    $browserversion="";  
    }else {  
    $browserversion="";  
    $browseragent="Unknown";  
    }  
    return $browseragent." ".$browserversion;  
    }
    function determineplatform ($Agent) {
    $browserplatform=='';
    if (eregi('win',$Agent) && strpos($Agent, '95')) {
    $browserplatform="Windows 95";  
    }elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {  
    $browserplatform="Windows ME";  
    }elseif (eregi('win',$Agent) && ereg('98',$Agent)) {  
    $browserplatform="Windows 98";  
    }elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {  
    $browserplatform="Windows 2000";  
    }elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {  
    $browserplatform="Windows XP";  
    }elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) {  
    $browserplatform="Windows Vista";  
    }elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) {  
    $browserplatform="Windows 7";  
    }elseif (eregi('win',$Agent) && ereg('32',$Agent)) {  
    $browserplatform="Windows 32";  
    }elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {  
    $browserplatform="Windows NT";  
    }elseif (eregi('Mac OS',$Agent)) {  
    $browserplatform="Mac OS";  
    }elseif (eregi('linux',$Agent)) {  
    $browserplatform="Linux";  
    }elseif (eregi('unix',$Agent)) {  
    $browserplatform="Unix";  
    }elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {  
    $browserplatform="SunOS";  
    }elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {  
    $browserplatform="IBM OS/2";  
    }elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {  
    $browserplatform="Macintosh";  
    }elseif (eregi('PowerPC',$Agent)) {  
    $browserplatform="PowerPC";  
    }elseif (eregi('AIX',$Agent)) {  
    $browserplatform="AIX";  
    }elseif (eregi('HPUX',$Agent)) {  
    $browserplatform="HPUX";  
    }elseif (eregi('NetBSD',$Agent)) {  
    $browserplatform="NetBSD";  
    }elseif (eregi('BSD',$Agent)) {  
    $browserplatform="BSD";  
    }elseif (ereg('OSF1',$Agent)) {  
    $browserplatform="OSF1";  
    }elseif (ereg('IRIX',$Agent)) {  
    $browserplatform="IRIX";  
    }elseif (eregi('FreeBSD',$Agent)) {  
    $browserplatform="FreeBSD";  
    }if ($browserplatform=='') {$browserplatform = "Unknown"; }  
    return $browserplatform;  
    }
    }
    ?>
      

  4.   

    那个 kjdata 是你自己定义的函数,有什么功能只有你自己知道
    把这个函数换了,只不过是为了调试方便你#3说的 Fatal error: Cannot redeclare kjdata()  是出于同样的原因
      

  5.   

      请看下这段代码 以及CONN的代码 看看 哪里有错误 谢谢
      

  6.   

    有问题你就说问题
    测试你的代码需要由你相应的环境如果你的 php 版本比较高,那么 ereg、eregi 都是有问题的
      

  7.   

    好的 可能是我太心急了所以没表述清楚吧  我这是PHP环境5.2.17 MYSQL 5.5.33 IIS6.0 如果需要服务器测试的话 可以提供服务器环境测试 当然再次感谢您的回复和帮助