今天修改程序的时候遇到的怪事.
我先直接赋值
$swfpath="F:/ComsenzEXP/wwwroot/docs/2012/09/10/";
$pdfpath="F:/ComsenzEXP/wwwroot/filestores/2012/09/10/";
这样程序能运行
但是我把上面的变量改成这样后,程序就不能运行了
$swfpath=$_SERVER[DOCUMENT_ROOT]."/docs/".$file['file_store_path'];
$pdfpath=$_SERVER[DOCUMENT_ROOT]."/".$settings['file_path']."/".$file['file_store_path'];
echo出来的值完全一样,请问这是什么原因造成的....
因为不能显示错误,所以前来求助还是这个程序,$page=$_GET['page'];程序正常,但是直接赋值就不行了如$page="[*,0],8";尽管他们echo出来的值一模一样,真是见鬼了.......这个程序就是FlexPaper php的演示程序,我想把他嵌入到我的程序中,中间遇到这么些郁闷问题

解决方案 »

  1.   

    1. $_SERVER[DOCUMENT_ROOT],由于没有给键值加引号来告诉PHP这是一个字符串,将会产生一个notice级别的错误,可能会引发之后的header()函数出错,进而产生warning级别的错误。如果不能显示错误,PHP将自行终止
    2. $page=$_GET['page'];程序正常,但是直接赋值就不行了如$page="[*,0],8";
    不知道你说的不行是什么情况?
      

  2.   

    不可能,因为能echo出来 ,而且数值都是一样的.所以不存在这个问题
      

  3.   

    加间引号后一样不行...php没有终止吧,因为变量能echo出来
      

  4.   

    var_dump("F:/ComsenzEXP/wwwroot/docs/2012/09/10/" == $_SERVER[DOCUMENT_ROOT]."/docs/".$file['file_store_path']);
      

  5.   

    在程序头加上着两行,再看看提示是什么错误。
    ini_set('display_errors', 'On');
    error_reporting(E_ALL);
      

  6.   

    还是不行,可以加你qq吗,我把源码包给你,不知道可不可以,我的qq2209218429
      

  7.   

    bool(true) 我把源码包发给你,你能帮我解决一下吗,困扰我几天了.我的qq是2209218429
      

  8.   

    而且在这个文件中,只要一echo变量,就导致flash不能显示...
      

  9.   

    目录是存在的嘛,因为直接把这个目录赋值就可以,换一种方法就不行了,虽然他们echo出来的值一样的.
      

  10.   

    <p id="viewerPlaceHolder" style="width:660px;height:553px;display:block">Document loading..</p>
                     <script type="text/javascript"> 
             var doc  = 'f35d054084ba857734dae190588f4215.pdf';
    var numPages  = 15;
    var swfFileUrl  = escape('{php/services/view.php?fileid=38&doc='+doc+'&page=[*,0],'+numPages+'}');
    =================================================
    view.php 的代码$doc=$_GET["doc"];
    $page = "";
    if(isset($_GET["page"])){
     //$page = '[*,0],28';
       $page = $_GET["page"];
    }

    $pos = strpos($doc, "/");
    $configManager = new Config();
     $swfFilePath = $swfpath . $doc  . $page. ".swf";
    $pdfFilePath = $pdfpath . $doc;
    echo file_get_contents($swfFilePath);
    if( !validPdfParams($pdfFilePath,$doc,$page) )
    echo "[Incorrect file specified]";  //文件未打到
    else{
    $pdfconv=new pdf2swf();
    $output=$pdfconv->convert($doc,$page);
    if(rtrim($output) === "[Converted]"){

    if($configManager->getConfig('allowcache')){
    setCacheHeaders();
    }

    if(!$configManager->getConfig('allowcache') || ($configManager->getConfig('allowcache') && endOrRespond())){
    header('Content-type: application/x-shockwave-flash');
    header('Accept-Ranges: bytes');
    header('Content-Length: ' . filesize($swfFilePath));

    echo file_get_contents($swfFilePath);
    }
    }else
    echo $output; //error messages etc
    }