カテゴリ | エラー・トラブル |
サマリ | ページに添付した画像ファイルが表示されない。 |
バージョン | 1.5.0 |
投稿者 | プレセア |
状態 | 質問 |
投稿日 | |
任意で作成したページにファイルを添付しました。
(製品実在庫管理表.png)
これをページにアクセスした際に、画像として表示させたいと
思い、以下の記述をソースとしてページ内に追記しました。
■追記内容
====================================
&ref(製品実在庫管理表.png);
[[img(製品実在庫管理表.png,300)]]
#ref(製品実在庫管理表.png,left,nowrap,添付ファイルの画像,10×10)
#ref(製品実在庫管理表.png,center,20×20)
&ref(製品実在庫管理表.png,nolink,30×30);
#ref(製品実在庫管理表.png,nolink,オンラインマニュアル);
====================================
上記いずれも、画像を表示するためのスペースは
ページ上に確保していますが、その四角いスペースの
左上には、バッテン(×)が表示されている代わりに、
画像は表示されていません。
nolinkを指定してない画像については、これがリンクに
なっており、画像は表示されます。
- 質問者です。pukiwikiとWEBサーバは同一筐体で動作していますが、事象が発生するのは、そのサーバに接続するクライアントのみです。サーバーのローカルにある.pngファイルを任意のページに添付して、refプラグインを同様に使用すると、画像が表示されます。クライアントマシンから同様にページに添付。refを使用しても左上に「×」(バッテン)が表示されます。違いとしては、クライアント -- プレセア
- (続き)から添付したファイルのプロパティを見ると、「種類」「サイズ」「作成日」「更新日」の項目が全て利用不可になっています。一方、サーバで添付したファイルのプロパティはこれらが、「種類:PNG イメージ」、「サイズ:1292バイト」、「作成日、」 --
- 「更新日」が本日のタイムスタンプになっていました。 --
- ★★★ --
- ここまでが質問者です。 --
- ★★★ --
- ★★★ --
- 関連: Q. 添付ファイルが表示できない --
- もしも添付ファイル用のディレクトリ(初期設定ではattach)にはクライアントからのファイルが存在しているのにPHPがそれを認識できないのなら、サーバーがゲストなどの別権限を割り当ててファイルを保存したことが原因になっているかもしれませんよ。 --
- 画像表示できるファイルとそうでないファイルを比較しましたが、所有者・権限は違わないようでした。 --
- 言い忘れていましたが、Windows環境です。画像表示ができるのはデフォルトimage配下の.pngです。表示できない画像は、白枠の左上に「×」が出ているリンクになります。このリンクを右クリックしてプロパティ→アドレス(URL)をブラウザ経由でアクセスすると、pukiwikiから「Seems not an image」と言われてしまいました。 --
- PHPを使ったファイル解析まで進んでいるので、質問箱/3469のような書式指定に関する問題はなさそうに見えますね(Seems not an image でplugin/ref.inc.php のソースを検索すれば該当するエラーメッセージがみつかります)。とりあえず解析失敗の原因さがしは後回しにして、attach プラグインからは添付ファイルにアクセスできますか?デフォルトのスキンの場合は、下にあるクリップアイコンのリンクから[添付ファイル一覧] や [全ページの添付ファイル一覧] に飛ぶと、PukiWikiの添付機能を使ってアップロードされたファイルにアクセスできるはずです。 --
- ご丁寧に回答ありがとうございます。ご指摘頂いたように、[添付ファイル一覧] や [全ページの添付ファイル一覧] からのアクセス(画像の確認)は可能でした。因みに、エラーとそうでないパターンは以下の通りでした。 -- 質問者
- ■表示不可能な画像のプロパティのアドレス(Seems not an image)→えいちてぃてぃぴー://hostname/index.php?plugin=ref&page=%C0%BD%C9%CA%BA%DF%B8%CB%B4%C9%CD%FD%C9%BD&src=%C0%BD%C9%CA%BC%C2%BA%DF%B8%CB%B4%C9%CD%FD%C9%BD.png -- 質問者
- ■(×)バッテンマークのリンクをクリック(アクセス可能)→ えいちてぃてぃぴー://hostname/index.php?plugin=attach&refer=%C0%BD%C9%CA%BA%DF%B8%CB%B4%C9%CD%FD%C9%BD&openfile=%C0%BD%C9%CA%BC%C2%BA%DF%B8%CB%B4%C9%CD%FD%C9%BD.png --
- ■表示可能なサーバに存在する画像のプロパティのアドレス→ えいちてぃてぃぴー://hostname/index.php?plugin=ref&page=%C0%BD%C9%CA%BA%DF%B8%CB%B4%C9%CD%FD%C9%BD&src=ahl-good.png --
- その変換ルールだと、EUC-JP版かな?同じサーバーにUTF-8版を別途用意してそちらにアップしてみるとか、同じデータのファイルを半角英数のみファイル名と日本語などマルチバイトを含むファイル名でアップして動作を比較してみるとか、で原因をもう少し絞れたりしないかな~ --
- ありがとうございます。もう少し調べてみたところ、1つ勘違いがありました。サーバのローカルのpngファイルは、画像が非表示にならない、とコメントしましたが、表示されるのは、pukiwikiに同梱のpukiwiki/image配下のpngファイルのみ、表示可能でした。サーバ上で、pukiwikiのインストールユーザに指定した既存ユーザで、適当にPrintScreenしてpngファイルにしたファイルは、refで表示できていませんでした。 -- 質問者
- ご認識の通り、EUC-JP版です。UTF-8での検証は時間がかかりそうですが、EUC-JPの現行環境で、半角英数のみのファイル名を表示させようとしても、表示は不可でした。 -- 質問者
- refでは"Seems not an image"と表示され、添付ファイルとしては(attachプラグインでは)表示できるのですね。refプラグインはPHP関数getimagesize()の結果gif,jpeg,pngと判定されたファイルのみ画像として扱い、他は"Seems not an image"のエラーを表示します。状況からは直接の原因は画像ファイルにあるように思えます。他の方法で入手したpngファイルやjpegファイルをアップロードしてrefプラグインで表示できるでしょうか? -- umorigu
- こんにちは。refの引数として与えている全角バッテンは関係ないかもしれませんが、(umoriguさんの指摘からすると) とあるWindows 版の とあるPHP におけるgetimagesize() の話題ではないでしょうか。プレセアさんは、バッテンを表示しているwebブラウザの種類およびバージョンや表示モード、バッテンになっている画像部分のスクリーンショット(どうやって共有しましょうね)、Windows OSの種類やバージョン、Windows版PHPのバージョン等も明らかにされた方が良いかもしれません。「追記内容」についても、「いずれも~表示されていません」と「nolink~については~表示されます」が矛盾しているように見えるので、整理される事をお勧めします。また、環境が複数あるのであれば、どちらも同じ状態にして比較されると良いでしょう。ファイル名についても、アスキー文字だけを使う、といったように単純化されるとさらに違いが分かるかもしれません。 -- henoheno
- 回答頂いた内容を基に、少し調べたところ、表示不可の画像はpngファイルを加工するツールを通していました。例えば、ペイントから保存する時にpng形式で保存すると、問題はありませんでした。逆に、refで表示できていたimege配下のpngファイルを画像加工ツールを通すと、表示不可になりました。ありがとうございました。 -- ぷれせあ