여기 곤경에 처해 있습니다. 내 PHP 코드가 작동하는 데 사용하지만 5.2.6를 PHP로 업그레이드 된 이후 지금 얻을 : 나는 Zend 확장 될 수 있다는 것을 발견PHP 5.2.6으로 업그레이드 한 후 발생하는 문제
<html>
<head>
</head>
<body>
<?php
//error_reporting(0);
/********** outputer **********/
$bool=file_exists("data/tcmpsr.txt");
if ($bool == 1)
{
$numstr=file_get_contents("data/tcmpsr.txt");
if ($numstr <> "")
{
$NumOfTitleChars= $numstr;
}
}
Else
{
}
$bool=file_exists("data/dcmpsr.txt");
if ($bool == 1)
{
$numstr=file_get_contents("data/dcmpsr.txt");
if ($numstr <> "")
{
$NumOfDtlChars = $numstr;
}
}
Else
{
}
/*** A new DOM object ***/
$dom = new DOMDocument('1.0','utf-8');
/*** load the html into the object ***/
$html = file_get_contents("data/csr.html");
$dom->loadHTML($html);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
/*** get the tags by its tag name ***/
$artclArray = $dom->getElementsByTagName('div');
$hdArray = $dom->getElementsByTagName('h2');
$spanArray = $dom->getElementsByTagName('span');
$i=0;
$x=0;
$y=0;
$z=0;
foreach ($artclArray as $memberid)
{
$divArray[$x]=$memberid->nodeValue;
$x++;
}
foreach ($hdArray as $memberid)
{
$hdlsArray[$y]=$memberid->nodeValue;
$y++;
}
foreach ($spanArray as $memberid)
{
$dtlsArray[$z]=$memberid->nodeValue;
$z++;
}
$hdsele=0;
foreach($hdlsArray as $elemid)
{
$AmountOfHdlChars=$NumOfTitleChars;
$eachTitle=$elemid;
for ($count=0; $count<$AmountOfHdlChars; $count++)
{
$chara[$count]=$eachTitle[$count];
}
$smallTitle=implode($chara);
$shortTitleArray[$hdsele]=$smallTitle;
$hdsele++;
}
$dtlele=0;
foreach($dtlsArray as $elemid)
{
$AmountOfDtlChars=$NumOfDtlChars;
$eachDetail=$elemid;
for ($count=0; $count<$AmountOfDtlChars; $count++)
{
$chara[$count]=$eachDetail[$count];
}
$smallDtl=implode($chara);
$shortDtlArray[$dtlele]=$smallDtl;
$dtlele++;
}
//echo "".$shortTitleArray[0]."<br />";
//echo "".$shortDtlArray[0]."<br />";
//echo "".$divArray[0]."<br />";
//The Result is three arrays "shortTitleArray", "divArray" and //"shortDtlArray".
//hdlsArray and dtlsArray contain full actual headlines and details.
/******************************/
?>
</body>
</html>
온라인 어떤 연구를하고 후 : 여기
Warning: domdocument::domdocument() expects parameter 2 to be long, string given in C:\xamps older\xampp167\htdocs\test\myphp\CSR Demo pack\csr\output.php on line 46
Fatal error: Call to undefined method domdocument::loadHTML() in C:\xamps older\xampp167\htdocs\test\myphp\CSR Demo pack\csr\output.php on line 50
소스입니다 그 원인. 내 젠드 설정이 어떻게 생겼는지 보여줍니다. 젠드 엔진 V2.2.0, 저작권 (c) 상기 이온 큐브 PHP 로더 v3.1.34, 저작권 (C)와 1998-2008 젠드 테크놀로지 2,002에서 2,009 사이에 의해 :
이 프로그램은 젠드 스크립트 언어 엔진을 사용한다 이온 큐브 (주), 젠드 확장 관리자 V1.2.0와 젠드 기술에 의해 젠드 기술 젠드 최적화 v3.3.3와 , 저작권 (C) 1,998에서 2,007 사이에 의해, 저작권 (C) 2003-2007
내가 가진 몇 가지 새로운 Windows 시스템에서이 코드를 테스트했으며 모두 실패했습니다. 이것은 대부분의, 그렇지 않으면 많은 웹 호스트가 내가 가진 것과 비슷한 설정을 사용하고 있다고 믿게합니다. 필자가 읽은 바를 토대로 일반적인 해결책은 젠드를 사용하지 않거나 php.ini
파일의 특정 영역을 주석 처리하는 것입니다. 이 스크립트는 배포 용 스크립트의 일부이기 때문에 대부분의 고객은 php.ini
에 직접 액세스 할 수 없으며 Zend 확장 프로그램과 같은 웹 서버 설정을 수정할 수있는 액세스 권한도 없습니다.
코드에서 어떻게 해결할 수 있습니까? 해결 방법이 있습니까? 또는 DOMDocument
을 사용할 수 있습니까?
왜 5.2.6으로 업그레이드 했습니까? 현재 realease까지 계속 시도하십시오. 5.2.11. 이미 해결 된 버그 일 수 있습니다. - 그리고, 당신이 그것을하는 동안, 당신도 갈 수 있습니다 모든 방법을 5.3.1;] – Atli
난 조금 지연되었습니다. 지금 업그레이드 할 예정입니다. 감사. – megatr0n