人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ネットマニアさんでPHPウェブログシステム3 μ-s ver2.09β(FLEUGELzさんのカスタマイズ版)のダウンロードをしてブログの運用をしているのですが、index.rdfを編集しようとすると

Warning: fread(): Length parameter must be greater than 0. in /virtual/・・・/public_html/blog/include/system.php on line 362

というエラーが出ます。
RSSリーダーで読めるようにしたいのですが、このエラーが原因なのか記事の取得ができません。解決方法を教えてください。
「Warning: fread(): Length parameter must be greater than 0」でGoogle検索すると多くのサイトでこのエラーメッセージが表示されているようなのですが、このエラーの意味と改善方法のみでも結構ですので、ご教授下さい。
よろしくお願いします。

●質問者: aikoku
●カテゴリ:ウェブ制作
✍キーワード:2.0 blog Google INDEX ON
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tonolove
●50ポイント

該当箇所(line 362)で実行しているfread関数にひきわたされた

”読み取り長”に0以下の値が入っているんじゃないでしょうか。

これは多分、空であっても同じようなエラーになるかもしれませんね。


phpは書いたことがありませんが、調べると、

http://www.scollabo.com/banban/php/ref/ref_fread.html

第二引数に読み取り長を渡すようですから、そこの恐らくは

変数に入っている値がおかしいのだと考えられます。


原因はわかりませんが、

そのなんとかさんのphpブログシステムでは既知のバグかもしれま

せんが、私は知りませんので、どなたかの回答が無い限りは、

自力でデバッグするのがはやいかもしれません。


ここのコード(line362)をチェック。

先述しましたが変数であれば、362行以前で一度、デバッグとして

値を画面に表示してみるとかしてながめてみて、


やはり入っている値がおかしい(例えば空だとか、-1とか)

のであれば、そのおかしい値がどこで設定されたのかを

遡って調査する...と私ならば普通にそうやっていきます。


ポイント不要です。

◎質問者からの返答

ありがとうございます。

コードを見て自分で修正したいのはやまやまですが、いかんせん何処を直せばいいかがわからず困っています。ちなみに362行は以下のようになっています。

$data = htmlspecialchars(JcodeConvert(fread($fp,filesize($_POST[tmpname])),0,2));


2 ● americanboss
●50ポイント

http://php.planetmirror.com/manual/ja/function.fread.php

PHP: fread - Manual

URLは、PHPマニュアルのエラーが出ている関数のページ。

エラーが出る理由は先の回答者さんの通りで間違いないと思います。


index.rdfをどのようなやり方で編集しようとしているのかはわかりませんが、恐らくPHPのプログラムを動作させてプログラムから編集しようとしているのでしょう。

編集を行うプログラムを呼び出すHTMLソースのフォームで「tmpname」という部分に該当する部分に恐らくfread関数で開くファイル名が書かれていると思います、そのファイル名が空だからエラーが出るとしか、実際にソースコードを見ていない人間には想像がつきませんね…。

◎質問者からの返答

ありがとうございます。

参考URLを読ませていただきましましたが、現在の私が手をつけられる範囲を超えている事は判りました。

一旦クローズさせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ