[PHP-users 20077]Re: Windows環境でのPhrameの使用について

荻原 宣之 ogihara @ itup.co.jp
2004年 1月 28日 (水) 10:38:29 JST


荻原です。

自己レスです。

xslt_process関数ですが、どうも指定の仕方が間違っていたようです。
XSLTファイルの絶対パスにドライブ文字が要らないと言っていましたが、
実際は「file://」をつければいいことが解りました。
よって、

$xsl = str_replace('\\', '/', dirname(__FILE__)) . '/' . $xsl;
$xsl = substr($xsl, 2);

 ↓

$xsl = 'file://' . str_replace('\\', '/', dirname(__FILE__)) . '/' . $xsl;

としたらいけました。
調べていただいた方がいらっしゃいましたらどうもありがとうございました。




> 現在、PhrameをWindows環境で使用しようとしているのですが、
> サンプル「phrame_examples」の「hello」を動かしてみると、
> 「cannot open file」というエラーが出てしまいました。
> 調べてみるとxslt_process関数のXMLファイルとXSLTファイルの
> 指定が、絶対パスでなければならないことが解ったので、
> 「hello」フォルダ直下の「index.php」ファイルの27行目の後に、
>
> $xsl = str_replace('\\', '/', dirname(__FILE__)) . '/' . $xsl;
>
> と記述して絶対パスを指定するようにしたのですが、今度は
> 「not well-formed」と言われてしまいました。Well-Formedの規則
> に引っかかっているようですが、調べていくうちに、XMLファイル
> とXSLTファイルの絶対パスにドライブ文字が要らないことが
> わかり、さらに上記の追記の後に、
>
> $xsl = substr($xsl, 2);
>
> を追記してドライブ文字列以外を取得するように変更しました。
> しかし、またも「cannot open file」というエラーが出てしまいました。
> エラー内容をよく見ると、XMLファイルとXSLTファイルの指定が
> 自動的にCドライブになってしまっており、私の環境ではPHPファイル
> はDドライブに置いている為、ファイルが無いと怒られていました。
> 試しに、Cドライブのファイルが無いと言われた場所に、フォルダを
> 作りXMLファイルとXSLTファイルを置いてみるとうまく動作しました。
>
> xslt_process関数は、Windows環境の場合ドライブの指定は出来る
> のでしょうか。また、なぜCドライブと認識してしまうのでしょうか。
> ちなみにApacheとPHPはCドライブにインストールしています。
>
> 下記が動作環境です。
>
>
> ■Windowsのバージョン
> Windows2000 SP4
>
> ■Apacheのバージョン
> 2.0.44
>
> ■PHPのバージョン
> 4.3.2
>
> ■Phrameのバージョン
> 2.0
>
> ■Phrameのサンプルのバージョン
> 2.0
>
>
> 以上、お解りの方がいらっしゃいましたら、どうそ宜しくお願いします。
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
>




PHP-users メーリングリストの案内