Top/PukiWiki/改造/一括添付・サムネイル出力・キャッシュ/コメント

コメントはてなブックマーク

編集編集はこちら

PukiWiki/改造/一括添付・サムネイル出力・キャッシュ

  • YY at 2005-04-10 (日) 23:23

    はじめまして、私は画像を自動的にサムネイル化してくれるプラグインを探しております。

    • yy at 2005-04-10 (日) 23:24

      よろしければ教えて頂きたいところがございます・書いてあるがまま実行したつもりですが上手く作動しません。私はattach.inc.phpに、patch.exeを利用してattach_ref_d.diffから差分を受け取り、そのままpluginフォルダに上書きしました。サムネイル化関係はこちらのプラグインが一番良いと感じ得ております。どうか見落としているミスなど分かりましたらアドバイスをご教授頂ければ幸いです。もしくは、作動する状態を、セットでダウンロード出来るようにはしてもらえないでしょうか?厚かましいコメント失礼しました・・

      • でぃあばぁ(管理者) at 2005-04-16 (土) 02:06

        はじめまして :) こちらのパッチは相当古いものでして、PukiWiki1.4.3添付のプラグインへの差分となっています。まずバージョンがあっているかどうか確認していただければと思います。また、今のところWindows上での動作確認はしてないので、折をみてやってみますね。

      • でぃあばぁ(管理者) at 2005-04-16 (土) 03:04

        半年も気づかなかったのですが、attach_ref_d.diff.2の文字コードなどが間違ってましたorzお手数ですが新しいものを試してみて下さい。

  • Gab at 2005-06-17 (金) 11:28

    一括添付は非常に利用したいプラグイン改造であると考えているのですが当方pukiwikiの1.4.5を使用していてyyさんと同じ状態になり気づきました。どうにか導入できる方法はないでしょうか?

    • でぃあばぁ(管理者) at 2005-06-17 (金) 13:12

      今のところ上記パッチはPukiWiki1.4.3添付のプラグイン用ですので、1.4.5添付のプラグインには当たらないです (^^; このサイトもそろそろ1.4.5_1ベースに上げたいと思っているので、ちょっとやってみますね。

      • Gab at 2005-06-17 (金) 18:27

        お早いお返事ありがとうございました。応援することしか出来ませんが、頑張ってください!

      • でぃあばぁ(管理者) at 2005-07-16 (土) 06:19

        一ヶ月も経ってしまいましたが、1.4.5用のパッチを作成しました。

  • Ryt at 2005-07-16 (土) 17:29

    1.4.5ですが、どうしてもパッチを当てる事ができません。OSは、WinXPなので、上記のpatch.exeを使おうと試みています。pukiwiki-1.4.5_1というフォルダにpukiwikiがインストールされています。ここにpatch.exeとdiffファイルを置いて、patch.exeを実行→上記コマンドを入力→エンターキーを押す とやっていますが、これでは何か間違っているのでしょうか?もしよろしかったら、パッチを当てた後のattach.inc.phpをアップロードしていただけたら幸いです。

    • でぃあばぁ(管理者) at 2005-07-16 (土) 18:16

      こんにちは :) 諸般の事情により、できればパッチのみの配布とさせていただきたいです (^^;
      patch.exeはコマンドプロンプトで使用するツールですので、以下の手順でパッチを当てて下さい。

      1. データのバックアップを取る。
      2. PukiWikiをインストールしたフォルダにパッチをダウンロードする。
      3. GNU patch v2.1 for Win32をダウンロードし、手順2と同じフォルダにpatch.exeを解凍する。
      4. スタートメニュー→プログラム→アクセサリ→コマンドプロンプト と辿ってコマンドプロンプトを立ち上げる。
      5. 次のようにして手順2と同じフォルダまで移動(フォルダは環境に依る)する。
        (cd と入力した後に該当フォルダをウィンドウにドロップすると楽です。)
        cd c:\pukiwiki-1.4.5_1
      6. 次のようにしてパッチを当てる。
        patch -p0 < attach_ref_d_145.diff
      7. patch.exe、attach_ref_d_145.diffを削除する。

      なお、パッチは次の4ファイルに適用されます。

      1. plugin/attach.inc.php
      2. plugin/ref.inc.php
      3. ja.lng.php
      4. en.lng.php
      • Ryt at 2005-07-18 (月) 07:35

        無事、できました・・・!ありがとうございます。お手数かけてすみません!

      • でぃあばぁ(管理者) at 2005-07-18 (月) 13:01

        良かった :) また何かありましたらお気軽にどうぞ。

  • アッカ at 2005-08-26 (金) 09:14

    サムネイルを利用するにはどういう書式を記入すればいいんでしょうか?

    • でぃあばぁ(管理者) at 2005-08-26 (金) 10:36

      次のようにして下さいな :)

      #ref(hoge.png,,50%)
      #ref(hoge.png,,10x10)
  • はいろ at 2005-11-09 (水) 14:16

    PLUGIN_THUMB_QUALを高め(100など)に設定したとき、一度目の表示では綺麗に画像が表示されるのですが、二度目以降ページを読み込んだ際に画質が落ちて表示されてしまうようです。jpgで確認しました。

    • はいろ at 2005-11-09 (水) 14:18

      なお、cacheディレクトリ内のサムネイルは正しい画質で保存されています。

    • はいろ at 2005-11-09 (水) 14:48

      146rc用パッチ21行目にPLUGIN_THUMB_QUALの引数を付け加えたところ期待した動作になりました。この対処法でよろしいのでしょうか?(^^;

      • でぃあばぁ(管理者) at 2005-11-10 (木) 01:08

        「PLUGIN_THUMB_QUALの引数」というのが何を意味しているのかちょっと分からないです (^^; ひとまず「PLUGIN_THUMB_QUALを高め(100など)に設定した」というのは下記のようにした、ということですよね?

        define('PLUGIN_THUMB_QUAL', 100); // 0〜100

        この行の他に何か書き加えたということでしょうか?お手数ですが、具体的に書いていただけると助かります。

      • はいろ at 2005-11-10 (木) 23:45

        ぐは、なんか書き損じてましたごめんなさい。変更したのは205行目で、「imagejpeg関数に引数としてPLUGIN_THUMB_QUALを加えた」という意味です。こうしないとデフォルトの画質として75が適用されてしまうようでした。

      • でぃあばぁ(管理者) at 2005-11-11 (金) 16:46

        もの凄くどうしようもない勘違いをしてました。保存されたサムネイルを再度JPEG圧縮して表示するようになっちゃってます (^^; 今週末に修正しますので、もうしばらくお待ち下さい。

      • でぃあばぁ(管理者) at 2005-11-13 (日) 23:32

        反省しつつ修正しました。お試し下さい :)

      • はいろ at 2005-11-14 (月) 19:58

        修正ありがとうございます。ただ、動作確認したところ通常利用では問題ないのですが、exifshowcaseプラグイン利用時に短いほうの辺がリサイズされなくなってしまいました。これは先方のプラグインを修正するしかないでしょうか?

      • でぃあばぁ(管理者) at 2005-11-14 (月) 23:42

        不具合修正のついでにと思いコードを整理した際に、引数の解釈の処理を一部変更したためだと思います。木曜以降に直しますね。

      • でぃあばぁ(管理者) at 2005-11-16 (水) 02:33

        パッチはWAIさんの件と併せてリリースしますので、もう少々お待ち下さい。なお、ひとまず次のように修正すると動きます。

        --- attach.inc.php.old	2005-11-16 02:26:54.779759648 +0900
        +++ attach.inc.php	2005-11-16 02:30:34.690328160 +0900
        @@ -754,10 +754,19 @@
         			$this->width  = $size[0];
         			$this->height = $size[1];
         		}
        -		$dstw = is_numeric($width)  ? $width  : $this->width;
        -		$dsth = is_numeric($height) ? $height : $this->height;
        +		$dstw = $dsth = 0;
        +		if (is_numeric($width) && is_numeric($height)) {
        +			$dstw = $width;
        +			$dsth = $height;
        +		} else {
        +			$ratiow = $width  ? $this->width  / $width  : 0;
        +			$ratioh = $height ? $this->height / $height : 0;
        +			$ratio = max($ratiow, $ratioh);
        +			$dstw = (int)($this->width  / $ratio);
        +			$dsth = (int)($this->height / $ratio);
        +		}
         
        -		if (($dstw == $this->width) && ($dsth == $this->height)) {
        +		if (($dstw == 0) || ($dsth == 0)) {
         			$this->open();
         		}
         
      • でぃあばぁ(管理者) at 2005-11-18 (金) 10:55

        リリースしました :) ご迷惑をおかけしました。

      • はいろ at 2005-11-18 (金) 22:48

        修正ありがとうございます。正しく動作するのを確認できました。

  • WAI at 2005-11-14 (月) 21:43

    はじめまして。どうにもうまくできないのでお尋ねします。画像(PNG)をきれいに縮小させたいんですが、サムネイルなし(ただのテキスト)の画像へのリンクになってしまいます。cache/*.thumbができてないので、変換時におかしいのかなと思います。またtarもうまく展開されず、添付ファイルには何も残りません。サーバログにも何も残らないので原因が特定できない状況です。PHPは4.4.1、GDは2系が入ってます。PHPの設定などで依存する部分はあるでしょうか?

    • でぃあばぁ(管理者) at 2005-11-15 (火) 00:59

      はじめまして :) 箇条書きで失礼します。

      1. 画像へのテキストリンクになる
        「サムネイルなし(ただのテキスト)の画像へのリンク」というのは <a href="〜"><img src="〜"></a> ではなく、 <a href="〜">〜</a> になるということですよね?*1それは恐らくこのパッチとは関係がありません。パッチ未適用の状態で確認してみて下さい。
        また、具体的なPukiWikiでの記述とその結果得られたHTMLを書いていただけると助かります。
      2. tarが展開されない
        1. 添付しようとしているtarアーカイブのファイルサイズが大きすぎませんか?attachプラグインの19行目・22行目にアップロードするファイルのサイズの設定があるので確認してみて下さい。
        2. 〜.tar.gzを添付していませんか?このパッチで提供されるのは〜.tarの展開機能です。
      3. サーバログにも何も残らない
        PukiWiki-dev:PukiWiki/1.4/ちょっと便利に/エラーログをファイルに出力のパッチを当てると詳しいエラーログが出力されるようになります。ただし、必要のないときはオフにしないと、いつのまにかにログが数MByteになっていたりするので気をつけて下さい。
  • WAI at 2005-11-15 (月) 5:15

    おはようございます。返信ありがとうございます。

    1. 画像へのテキストリンクになる
      該当箇所は以下のような出力になっています。
      <div class="img_margin" style="text-align:left">
      <a href="http://URL/pukiwiki/pukiwiki.php?plugin=attach&amp;refer=huga&amp;openfile=hoge.png" title="hoge.png">
      <img src="http://URL/pukiwiki/pukiwiki.php?plugin=attach&amp;thumb=hoge.png&amp;refer=huga&amp;width=300&amp;height=200" alt="hoge.png" title="hoge.png" width="300" height="200" />
      </a>
      </div>
      Firefoxで見ていたので、ただのテキストリンクと同じ形になっていました。IEならばサーバーに画像が存在しない場合と同じような感じです。
    2. tarが展開されない
      ファイルサイズは200KBほど、tar.gzやtar.bz2ではありません。WindowsでNoahを使ってtar normalにしてます。
    3. サーバーログにも何も残らない
      ちょっとこのパッチ古すぎて当たらないみたいです。。そういえば報告忘れましたが、1.4.6を使ってます。いちおうソースを追っかけてみたんですが、どこに挿入したらいいかわからなくて・・別サーバーで立てると、画像の表示はうまくいきました(cacheができます)。なので環境に依存するようです。もうちょっと検証してみます。tarはあいかわらずダメですが・・もしお暇であればちょっとやってみてください。管理パスワードはかかってません。
    • でぃあばぁ(管理者) at 2005-11-15 (火) 21:17

      こんばんは :) 色々と調査中ですが、まだ原因をつかめていません。

      1. 画像へのテキストリンクになる
        テキストリンクに見えたのはFirefoxで見ていたからだったんですね。refプラグインの出力は間違ってないみたいですので、attachプラグイン側の問題でしょう。
      2. tarが展開されない
        提示されたサーバーのWikiでテストしてみましたが、確かに添付されませんね。一時ファイル(tar)のopenに失敗しているのかもしれません。
      3. サーバーログにも何も残らない
        PukiWiki/改造/エラーログをファイルに出力にPukiWiki1.4.6用のパッチを添付しました。attach.inc.php関係のエラーログを頂けると原因が特定できると思います。
      • WAI at 2005-11-15 (月) 21:53

        こんばんはです。エラーログパッチありがとうございます。それを利用して、tarのほうは原因がつかめました。phpのopen_basedirの設定をしてて/var/tmpが扱えなかったようです。以下がログです。

        2005-11-15 21:46:06 WARNING(2)
        fopen(): open_basedir restriction in effect. File(/var/tmp/phpVvAnzL)
        is not  within the allowed path(s): (/home/) on
        /home/www/pukiwiki-1.4.6/plugin/attach.inc.php line 989
        2005-11-15 21:46:06 WARNING(2)
        fopen(/var/tmp/phpVvAnzL): failed to open stream: Operation not permitted
        on /home/www/pukiwiki-1.4.6/plugin/attach.inc.php line 989
        2005-11-15 21:46:06 WARNING(2)
        Invalid argument supplied for foreach() on
        /home/www/pukiwiki-1.4.6/plugin/attach.inc.php line 218
        2005-11-15 21:46:06 NOTICE(8)
        Undefined variable:  res on /home/www/pukiwiki-1.4.6/plugin/attach.inc.php
        line  228

        ちなみにセーフモードが原因かな、とも思ってOn,Offをやってみたのですが、open_basedirのところにThis directive is *NOT* affected by whether Safe Mode is turned On or Off.とか書かれてました・・ところでこれだと回避する方法はないでしょうか?できれば/var/tmpなどは入れたくないのですが・・

      • でぃあばぁ(管理者) at 2005-11-15 (火) 23:40

        アップロードされたファイルを直接openするようになってました (^^;一度move_uploaded_fileしてからopenするように修正し、open_basedirの制限下でも動作することを確認しました。周辺を見直しつつ、はいろさんの件と併せてリリースしますので、もう少々お待ち下さい。なお、ひとまず次のように修正すると動きます。

        --- attach.inc.php.old	2005-11-15 23:45:38.817729464 +0900
        +++ attach.inc.php	2005-11-15 23:46:40.318379944 +0900
        @@ -986,7 +986,9 @@
         // 返り値: 特に無し。大したチェックはせず、やるだけやって後は野となれ山となれ
         function untar($tname, $odir)
         {
        -	if (! ($fp = fopen($tname, 'rb'))) {
        +	$tartmp = UPLOAD_DIR . 'tar_tmp';
        +	move_uploaded_file($tname, $tartmp);
        +	if (! ($fp = fopen($tartmp, 'rb'))) {
         		return;
         	}
         
        @@ -1022,6 +1024,7 @@
         		}
         	}
         	fclose($fp);
        +	unlink($tartmp);
         
         	return $files;
         }
      • WAI at 2005-11-16 (火) 8:55

        おはようございます。対応ありがとうございました :) 。これでうまくいきそうです。
        ちなみに画像が出ない方はここになります。エラーログは以下の通りで、そもそも*.thumbが作られていないみたいですが、それ以前のログにはなにもでませんでした。パーミッションは問題ないです。何か確認するようなところはありますでしょうか?

        2005-11-16 08:47:56 WARNING(2)
        imagejpeg(): Unable to access cache/46726F6E7450616765_437x212_hoge.png.thumb
        on /home/****/www/pukiwiki-1.4.6/plugin/attach.inc.php line 955
        2005-11-16 08:47:56 WARNING(2)
        imagejpeg(): Invalid filename 'cache/46726F6E7450616765_437x212_hoge.png.thumb'
        on /home/****/www/pukiwiki-1.4.6/plugin/attach.inc.php line 955
        2005-11-16 08:47:56 WARNING(2)
        filesize(): Stat failed for cache/46726F6E7450616765_437x212_hoge.png.thumb
        (errno=2 - No such file or directory) 
        on /home/****/www/pukiwiki-1.4.6/plugin/attach.inc.php line 925
        2005-11-16 08:47:56 WARNING(2)
        readfile(): Unable to access cache/46726F6E7450616765_437x212_hoge.png.thumb on
        /home/****/www/pukiwiki-1.4.6/plugin/attach.inc.php line 978
        2005-11-16 08:47:56 WARNING(2)
        readfile(cache/46726F6E7450616765_437x212_hoge.png.thumb): failed to open
        stream: No such file or directory on 
        /home/****/www/pukiwiki-1.4.6/plugin/attach.inc.php line 978
      • でぃあばぁ(管理者) at 2005-11-16 (水) 09:29

        ちょっと時間がないので検証できていませんが、以下が原因だと思われます。PHP4.4.1以降でsafe_mode時のimagejpegの挙動が変わったことによるもののようです。

        1. PHP-users 2005年11月 保存書庫 スレッド
        2. XREA SUPPORT BOARD - ImageJPEG
      • WAI at 2005-11-16 (水) 11:12

        なるほど、調べ不足でした。ありがとうございますm(-_-)m CVSのほうで改善されてるってことはバージョンアップがありますかね。どうもお手数かけました。

      • でぃあばぁ(管理者) at 2005-11-16 (水) 14:09

        回避策としてimagejpegする前にtouchすることなどが挙げられているようです。ひとまずその方向で行きますね。

      • WAI at 2005-11-18 (金) 8:25

        おはようございます :) PHPの関係ありそうなCVSパッチ(gd.h)を当ててみましたが、思った動作にならないですね。なにか他に原因があるんでしょうか。対応どうもありがとうございます。

      • でぃあばぁ(管理者) at 2005-11-18 (金) 10:57

        リリースしました :) imagejpegの件(Bug #35060)についてはこちらの方で回避できたと思います。また何かありましたらご報告いただけるとありがたいです。

      • WAI at 2005-11-21 (月) 6:22

        おはようございます。パッチありがとうございました。 :) 画像のサムネイルの方は簡単に試した限りでは成功しているようです。しかし一括添付のほうが「Tarアーカイブを展開できませんでした」となるようです。移動に失敗しているんでしょうか。4.4.1の環境です。お暇なときにでもお願いします。

        2005-11-21 06:19:51 WARNING(2)
        fopen(): open_basedir restriction in effect. File(/var/tmp/tar3baykL) is not
        within the allowed path(s): (/home/:/home2/) on
        /home/www/pukiwiki-1.4.6/plugin/attach.inc.php line 1049
        2005-11-21 06:19:51 WARNING(2)
        fopen(/var/tmp/tar3baykL): failed to open stream: Not owner on
        /home/www/pukiwiki-1.4.6/plugin/attach.inc.php line 1049
      • でぃあばぁ(管理者) at 2005-11-21 (月) 10:52

        度々すみません (^^; どうやら、テンポラリファイルの名前を決めている関数tempnamの第一引数に与えられているディレクトリがフルパスでないためのようです。index.phpとpukiwiki.phpのDATA_HOMEにPukiWikiを設置したディレクトリを指定すれば、動作しました(Windows2000+Apache+PHP4.4.1)。
        dumpプラグインも同じ方法でテンポラリファイル名を得ているので、上記指定をしない限り動作しないと思います。PukiWiki-dev:BugTrack2/122

      • WAI at 2005-11-21 (月) 19:40

        なるほど。DATA_HOMEにフルパスで指定してやると確かにうまくいきました。あとは場所を動かしたときには気をつけないといけませんね・・しばらくはこれで使っていきます。 本当にありがとうございました。 :) また何かありましたら、ご報告したいと思います。

      • でぃあばぁ(管理者) at 2005-11-21 (月) 20:01

        お付き合いいただき本当にありがとうございました。お陰様で少しマシになったと思います。改善すべき点はまだまだありますけれども… (^^; あ、思いつきなのでまた弊害があるかもしれないですが、次のようにすると自動的にフルパスが指定されるようになりますよ。

        define('DATA_HOME', realpath('.') . '/');
  • koni at 2006-01-11 (水) 17:49

    便利なパッチの提供ありがとうございます.PukiWiki:自作プラグイン/attach.inc.php・ref.inc.phpの方にも投稿しましたが,ref プラグインでの画像のサムネイル化をデフォルト時(オプション未指定時)に有効にするのではなく,有効/無効 を選択できるようにしていただけると ref プラグインの互換性を保つことができるようになり助かります.当方では,改造を施して使っております.

    • でぃあばぁ(管理者) at 2006-01-11 (水) 19:18

      ご指摘ありがとうございます :) 仰る通りですね。近いうちに取り込ませていただきたいと思います。

    • でぃあばぁ(管理者) at 2006-03-25 (土) 23:57

      取り込ませていただきました。

  • supob at 2006-05-18 (木) 22:54

    こんにちは。みなさんの過去コメントのお陰でパッチ〜使用まで障害なく進みました。(1.4.6+attach_ref_d_146.diff.5です)。ただ、日本語のファイル名は文字化けして添付されてしまうようですが、回避方法はありますか?

    • supob at 2006-05-18 (木) 23:00

      何度もお世話になります。↑ブラウザの表示エンコードをシフトJISにするとファイル名が文字化けせずに表示されました。でも本文(EUC?)が全文字化け・・・

      • でぃあばぁ(管理者) at 2006-05-19 (金) 07:35

        はじめまして :) 私の環境 (Debian GNU/Linux(sarge) + Apache2.0.54 + PHP4.3.10 + PukiWiki1.4.6) では問題なく動作しているようなので、supobさんと同じ環境でテストしてみたいと思います。OS、Webサーバ、PHP、その他関係がありそうなソフトウェアのバージョンを教えていただけますでしょうか。

    • supob at 2006-06-02 (金) 10:56

      お返事大変遅れてすみません。 (^^; 1週間前にはご回答チェックしたつもりなのですが・・・ (--;言い訳。さて、こちらの環境ですが、(Win2K-SP4+Apache2.0.55 (Win32) PHP4.4.1+Pukiwiki 1.4.6)です。その他、関係ありそうなソフトは・・・分かりません (^^; ちなみに文字化けしない漢字もあるようで、「サンプル」は文字化けせず、「リネーム」は文字化けします。→更に「サンプル」のファイルは添付ファイル削除しようとすると”見つかりません”エラーで消せなくなりました。→pukiwiki/attach 配下でエンコードされたファイル名を探して削除したのですが・・・よろしくお願いします。

    • でぃあばぁ(管理者) at 2006-06-02 (金) 18:44

      検証まで少々お待ち下さい (^^; 1週間前後試してみます。

      • supob at 2006-06-08 (木) 17:44

        超基本的なことで恐縮ですが、今、このページ画面を見ている状態で、ieの「表示」→「エンコード」を選ぶとEUCになっています。私の環境もそうですが、Wikiで使用する漢字コードはEUC体系ですか?

      • supob at 2006-06-08 (木) 17:46

        ↑あれ?自分が投稿して初めて、でぃあばぁさんの06-02の投稿が現れました!・・・というように、中途半端な知識しかない初心者です。すみませんがよろしくお願いします。

      • でぃあばぁ(管理者) at 2006-06-24 (土) 21:52

        お時間をいただいてしまいましたが、同じ環境を作ってみました。ただ、再現手順を伺うのを忘れてしまったので、色々と試してみましたが、再現できませんでした。私が試したのは次の二つです。下記1で問題が出る場合は、未パッチの状態で同様の操作を行ってみて下さい。

        1. サンプルというファイル名のファイルを添付
        2. サンプルというファイル名のファイルをtar形式アーカイブにし、添付
      • でぃあばぁ(管理者) at 2006-06-24 (土) 22:01

        おっしゃるようにPukiWikiで使用しているエンコードは通常、EUC-JPです。

    • supob at 2006-06-26 (月) 10:56

      検証にお時間割いて頂き、ありがとうございました。再現ですが、まずは「サンプル」というファイル名のファイルについて。パッチの状態(1.4.6+attach_ref_d_146.diff.5)で。

      1. サンプルというファイル名のファイルを添付
        • 添付成功。文字化けせず。ファイル削除可。
      2. サンプルというファイル名のファイルをtar形式アーカイブにし、添付
        • 添付成功。文字化けせず。ファイル削除不可(!)
        • ※それぞれ、状況としては、
        1. サンプルというファイル名のファイルを添付
          /pukiwiki/attach のディレクトリ
          A5C6A5B9A5C8_A5B5A5F3A5D7A5EB        サイズ=8
          A5C6A5B9A5C8_A5B5A5F3A5D7A5EB.log    サイズ=5
        2. サンプルというファイル名の添付ファイルを削除
          /pukiwiki/attach のディレクトリ
          A5C6A5B9A5C8_A5B5A5F3A5D7A5EB.log    サイズ=5
          が残る。
        3. サンプルというファイル名のファイルをtar形式アーカイブにし、添付
          /pukiwiki/attach のディレクトリ
          A5C6A5B9A5C8_835483938376838B        サイズ=8
          A5C6A5B9A5C8_835483938376838B.log    サイズ=5
        4. サンプルというファイル名の添付ファイルを削除
          "テスト(ページ名) にそのファイルは見つかりません"が出る。
          /pukiwiki/attach のディレクトリ
          A5C6A5B9A5C8_835483938376838B        サイズ=8
          A5C6A5B9A5C8_835483938376838B.log    サイズ=5
          →なくなっていない。というか、"サンプル"というファイル名を直接添付したときとファイル名が異なっている(!)
    • supob at 2006-06-26 (月) 14:45

      更に追加で調査しました。文字化けするパターンです。

      1. 2つのファイル「議事録.txt」「memo.txt」を単独で添付した場合
        画面下段には、
        議事録.txt [詳細] memo.txt [詳細] 
        のように表示されます。
        /pukiwiki/attach のディレクトリには、
        A5C6A5B9A5C8_6D656D6F2E747874
        A5C6A5B9A5C8_6D656D6F2E747874.log
        A5C6A5B9A5C8_B5C4BBF6CFBF2E747874
        A5C6A5B9A5C8_B5C4BBF6CFBF2E747874.log
      2. それぞれのファイルをtar圧縮で添付した場合
        画面下段には、
        議迄^.txt[詳細] memo.txt [詳細] … 議事録は文字化け
        のように表示されます。
        /pukiwiki/attach のディレクトリには、
        A5C6A5B9A5C8_6D656D6F2E747874
        A5C6A5B9A5C8_6D656D6F2E747874.log
        A5C6A5B9A5C8_8B638E96985E2E747874
        A5C6A5B9A5C8_8B638E96985E2E747874.log
        ※attachディレクトリ配下のファイル名を見て頂くと分かるかと思いますが、実際に、後者の場合、memo.txtは添付から削除できますが、 議迄^.txt の方は、"テスト(ページ名) にそのファイルは見つかりません"が出ます。at 2006-06-26 (月) 14:45
      • でぃあばぁ(管理者) at 2006-06-28 (水) 22:31

        ご報告ありがとうございます。お使いのPHPでmbstringが有効になっているかどうかご確認下さい。

  • xyz at 2006-06-16 (金) 14:04

    1.4.7に対応させてください!!!お願いします。

    • xyz at 2006-06-16 (金) 14:05
      • でぃあばぁ(管理者) at 2006-06-24 (土) 22:05

        作業始めました。今しばらくお待ち下さい。

      • でぃあばぁ(管理者) at 2006-06-29 (木) 00:14

        リリースしました。

      • xyz at 2006-07-08 (Sat) 15:41

        でぃあばぁさん………ありがとうございます!!!!話は変わりますが、プニルのYouTubeスクリプト………ありがとうございます!!!!。

  • n10 at 2006-06-18 (日) 20:40

    attach_ref_d_146.diff.5を使わせてもらっています。refでサムネイルを生成するところで,サムネイル自体は作ろうとしているようですが,サイズが0のファイルができてしまいます。errorlogで何かエラーがないか探してみましたが,特に何もないようです。考えられる原因は何かあるでしょうか?

    • でぃあばぁ(管理者) at 2006-06-24 (土) 22:12

      使用環境のPHPでGDライブラリがサポートされているかご確認下さい。と、書こうと思ったのですが、その場合は「Call to undefined function」エラーが出るはずですね (^^; 少し考えてみます。

  • xyz at 2006-07-08 (Sat) 16:51

    このページの

  • enter押しちゃった。 at 2006-07-08 (Sat) 16:54

    「5.plugin/attach.inc.phpを開き、定数を設定」は「plugin/ref.inc.phpを開き、定数を設定」 の間違いですね。

    • でぃあばぁ(管理者) at 2006-07-09 (Sun) 23:45

      ご報告ありがとうございます :) 訂正しました。

  • supob at 2006-07-13 (Thu) 19:18

    (でぃあばぁさん)ご報告ありがとうございます。お使いのPHPでmbstringが有効になっているかどうかご確認下さい。---⇒確認が遅くなりすみません。 (^^; PHPでmbstringが有効であるかどうかを調べる方法がまだ分かっていませんが、とりあえず「C:\PHP\extensions\php_mbstring.dll」というファイルはありました。

    • supob at 2006-07-13 (木) 19:42

      C:\WINNT\php.ini内の宣言を次のように書き換え、サーバ(Apache)を再起動して、やってみましたが、変化無しでした。。。 (--;

      extension=php_mbstring.dll
      mbstring.language = Japanese
      mbstring.internal_encoding = EUC-JP
      mbstring.http_input = auto
      mbstring.http_output = SJIS
      mbstring.encoding_translation = Off
      mbstring.detect_order = auto
      mbstring.substitute_character = none;
      mbstring.func_overload = 0
    • supob at 2006-07-14 (金) 14:32

      さらに次の定義も加えてみました。(php.ini)

      magic_quotes_gpc = Off
      default_charset = "Shift_JIS"
      extension_dir = "C:/php/extensions"
      mbstring.internal_encoding = SJIS
      mbstring.encoding_translation = On

      まだダメなようです。。。 (--;

      • でぃあばぁ(管理者) at 2006-07-14 (Fri) 23:27

        うぅ。ひとまず「<?php echo phpinfo(); ?>」と書いたファイルをphpinfo.phpとして保存、アクセスしてみて、mbstringが有効になっているかどうかを確認してみて下さい。

    • supob at 2006-07-17 (月) 08:12

      お手数をお掛けしています。 (^^; echo phpinfo()をやってみましたが、表示されたリストに「mbstring」の文字すらありません・・・ linuxのサーバのページなどでは、

      #./configure --enable-mbstring --enable-mbstr-enc-trans のようなことをやりなさいと書いてありましたが、Windows(Apache/2.0.55 (Win32) PHP/4.4.1)の環境では、どのように対応になるのでしょう。 質問の方向が逸れていっていますね...すみません。 (--;

      • supob at 2006-07-18 (火) 09:00

        その後ですが、あるPC(PC-Aとします)だけ変なことが分かりました。 このtarファイルの添付が成功している他のサーバ(PC-Bとします)から、 php.iniを持ってきて、それをPC-AのC:\Winntに入れ、Apache2を再起動すると、 「プロシージャエントリポイント php_escape_shell_cmd がダイナミックリンクライブラリ php4ts.dll から見つかりませんでした。」のエラーが出ました。 続いて、「Unknown(): Unable to load dynamic library 'C:/php/extensions/php_mbstring.dll' - 指定されたプロシージャが見つかりません。」も表示されます。 どうもこの辺りが怪しいです。 (^^; ただ、それぞれのphp.iniの間でdiffをとっても、それらしい差異が無いのです。 その他、色々試してみたのですが、どうも?な現象が続いています。

        1. 元々あったPC-Aのphp.iniファイルでApache2を再起動してもエラーは出ない。
        2. PC-Bから持ってきたphp.iniファイルでApache2を再起動すると上記のエラー発生。
        3. 元々あったPC-Aのphp.iniファイルの内容をPC-Bのphp.iniの内容で書き換えて再起動するとエラーは出ないが、設定は効いてなさそう・・・
        4. 逆にPC-Bから持ってきたphp.iniのファイルの内容を元のPC-Aのphp.iniファイルの内容で書き換えて、PC-Aで再起動すると、上記のエラーが発生する。?!
        5. ファイル名はphp.iniでまったく同じ、ファイルの文字コードもshift-JISで同じ。diffを取っても同じなのに、かたやApache2起動でエラーになり、かたやエラーになりません。
      • 物理的にファイルが違うというだけでこの現象になっています。
      • どうやら、状況的にここの質問とは異なってきたように思います。(動作しているサーバもありますので・・・) (--;
      • でぃあばぁ(管理者) at 2006-07-21 (Fri) 22:30
      • supob at 2006-07-25 (火) 09:00

        何度もご回答ありがとうございます。お手数をお掛けしています。 (^^; 上記、教えて頂いたHPの対処(実際は、C:\Winnt\system32\php4ts.dllを再コピー&再起動)をとってみたところ、7/18に私がupしていた変な状況はなくなりました。(どのphp.iniファイルでもApache再起動OK) ただ、tarファイルの添付は依然文字化けするようですので、あらためてApacheやPHPのインストールからやり直してみようと思っているところです。状況変化しましたら、あらためてこちらへご報告に伺います。 途中ごちゃごちゃしましたので、現状、最終のphp.iniファイルの内容(関係すると思われる部分)をあらためて記載しておきます。

        extension_dir = "c:/php/extensions"
        extension=php_mbstring.dll
        mbstring.language = Japanese
        mbstring.internal_encoding = EUC-JP
        mbstring.http_input = auto
        mbstring.http_output = SJIS
        mbstring.encoding_translation = On
        mbstring.detect_order = auto
        mbstring.substitute_character = none;
        mbstring.func_overload = 0
        magic_quotes_gpc = On
        default_charset = "Shift_JIS"
      • supob at 2006-07-25 (火) 17:18

        Apache2、PHPともに削除し、再インストールしました。Apache2はマイナーバージョンup、PHPは4→5へバージョンアップしました。(Apache/2.0.58 (Win32) PHP/5.1.4 ) php.iniの内容は上記通りです。 これで再度試してみたのですが、(議事録.txt、memo.txtの2ファイルを含むtarファイルをtestというページに添付) そうすると、今度は、議事録.txt の方が「.txt」の名前で添付されてしまいました。 attachディレクトリの下を見ると、次のようなファイルになっていました。

        2006/07/25  16:55                    5 74657374_6D656D6F2E747874.log
        2006/07/25  16:55                  237 74657374_6D656D6F2E747874
        2006/07/25  16:55                    5 74657374_2E747874.log
        2006/07/25  16:55                    0 74657374_2E747874

        進歩があったとすると、この「.txt」については、Wiki上からファイルの削除で消せることです。 決してわざとではないのですが、どうもハマり体質なものですみません。 (--; 取り急ぎ、ご報告しておきます。 ※「議事録.txt」のファイルを直接添付した場合は、問題なくOKです。

  • supob at 2006-07-25 (火) 18:06

    もしやと思い、PHP4(4.4.2)として再インストール、再起動してみましたら・・・ tar圧縮からも「議事録.txt」の名前で添付できました!!! (^^) (^^) (^^)
    PHP5だとダメとか・・・とりあえず動けばOKでしょうか。結果オーライ体質ですので・・・
    とは言え、たったこれだけのことで2ヶ月にも渡ってこちらのページをお騒がせしてしまい、大変ご迷惑をお掛けしました。 「圧縮せずに添付したら成功する」といったところが気になってハマってしまいました。 色々と調査結果や情報を繰り返しご提供頂いて、感謝いたします。ありがとうございました。 機会がありましたら、懲りずにまたよろしくお願いいたします。

    • でぃあばぁ(管理者) at 2006-07-29 (Sat) 09:37

      おめでとうございます!また何かありましたらお気軽にどうぞ :)

  • ななお at 2007-08-31 (Fri) 17:04

    http://prdownloads.osdn.jp/pukiwiki/12957/pukiwiki-1.4.7_notb.zipでパッチをあてようとするとうまくいきません

  • ななお at 2007-08-31 (Fri) 17:06

    attach_ref_d_147.diffで試してるんですが

  • ななお at 2007-09-01 (Sat) 03:55

    すみませんできました

    • でぃあばぁ(管理者) at 2007-10-07 (Sun) 23:46

      返信遅くてごめんなさい。成功したようでなによりです :)

  • mkashi at 2007-12-31 (Mon) 22:33

    パッチ使わせていただきました。いい感じに動いてます。ありがとうございます。

    • でぃあばぁ(管理者) at 2008-01-01 (Tue) 00:17

      どういたしまして :)

  • のの at 2008-01-26 (Sat) 07:17

    officialページから訪ねてきました。素晴らしいパッチの提供ありがとうございます。 色々ご指導頂き無事動きました。過去の無駄記事は削除し、2/6記事にまとめました。

  • 通りすがり at 2008-01-27 (Sun) 15:11

    pukiwikiplusにも対応できるでしょうか?

    • でぃあばぁ(管理者) at 2008-02-02 (Sat) 07:09

      このパッチはPukiWiki Plus!へは適用できません。また今後PukiWiki Plus!に対応する予定もないです (^^;)

  • 同じ at 2008-01-31 (Thu) 15:08

    ののさんとまったく同じエラーで使えません。文字コードはUTF-8です。

  • のの at 2008-01-31 (Thu) 19:38

    同志がいて励みになります。手作業でも試したのですが駄目でした。ど素人丸出しですが、なんとかこの機能は欲しい!

    • でぃあばぁ(管理者) at 2008-01-31 (Thu) 20:16

      返信遅くてごめんなさい。土日になれば対応できると思うので、もうしばらくお待ちください。

    • でぃあばぁ(管理者) at 2008-02-02 (Sat) 07:30

      オフィシャルから1.4.7_notb(pukiwiki-1.4.7_notb.tar.gz)と1.4.7_notb UTF-8版(pukiwiki-1.4.7_notb_utf8.tar.gz)をダウンロードしてパッチを当ててみました。
      結果、1.4.7_notbには正常にパッチが当たりましたが、1.4.7_notb UTF-8版では件のエラーが表示されました。
      と、いうことで、1.4.7_notb UTF-8版のパッチを作成しますので、少々お待ちください。
      なお、パーミッションについては別の問題かと思います (^^;)

    • でぃあばぁ(管理者) at 2008-02-02 (Sat) 07:50

      1.4.7_notb UTF-8版のパッチを作成しました。*2パッと見問題なさそうです。お試しください :)

  • のの at 2008-02-05 (Tue) 14:50

    でぃあばぁさん、ありがとうございます。帰宅後早速試したいとおもいます。

  • のの at 2008-02-06 (Wed) 02:47

    でぃあばぁさん!ありがとうございます!!やっと出来ました!!! 反省も含めて、私のような素人のためにも、まとめました。

    環境:
    コンピュータ(powerbook-g4)
    pukiwikiというフォルダにpukiwiki-1.4.7_notb_utf8.tarを展開したファイルが全て入っている。
    attach_ref_d_147_utf8.diffというでぃあぱぁさん提供のdiffもpukiwikiフォルダに入れる。
    MAC OSXのアプリケーション>ユーティリティ>ターミナル.appを起動
    cd コマンドでpukiwikiフォルダにディレクトリを変更する。
    次の命令を入力 patch -p1 < attach_ref_d_147_utf8.diff
    結果
    powerbook-g4:pukiwiki myname$ patch -p1 < attach_ref_d_147_utf8.diff
    patching file en.lng.php
    patching file ja.lng.php
    patching file plugin/attach.inc.php
    patching file plugin/ref.inc.php
    powerbook-g4:pukiwiki myname$
    ものの数秒で終了。変更された4つのファイルをftpでサーバーへUpする。
  • のの at 2008-02-06 (Wed) 03:08

    反省は,utf8かどうかも重要だったということ。 macだと.から始まるゴミも一緒にUpされてしまうのが弱点か。

    • でぃあばぁ(管理者) at 2008-02-06 (Wed) 07:34

      おめでとうございます! :) まとめありがとうございます。折を見て説明も見直しますね。

  • のの at 2008-02-10 (Sun) 07:52

    でぃぱぁさん、本当にありがとうございました。これから細かい部分は試してみたいところです。でも、色々なパッチや修正をしているとなかなか大変だなと思いました。もっと勉強します。

  • moerrari at 2011-02-18 (Fri) 21:53

    デフォルトでは問題ありませんが、ref.inc.phpの'PLUGIN_REF_DIRECT_ACCESS'を何かの拍子でTRUEにしていると動作しないので注意。

    • でぃあばぁ(管理者) at 2011-02-18 (Fri) 23:06

      ご報告ありがとうございます :) 備考として追記いたしました。

  • moerrari at 2011-07-03 (Sun) 18:03

    便利に使わせていただいてます。
    今回UTF-8環境での利用のために、attach_ref_d_147_utf8.diffをUTF-8版のpukiwikiに当てたのですが、
    2バイト文字で始まるファイル名をtarに固めたものを添付すると展開されたファイル名の半角英数文字以前の2バイト文字部分が消えてしまいます。
    ただし2バイト文字を含んでいてもファイルの先頭が半角英数であれば問題なく展開されます。
    例)ほげほげ_1.txt ふがふが_2.txt をtarで添付→_1.txt _2.txtのように展開される。
    例2)1_ほげほげ.txt 2_ふがふが.txtをtarで添付→そのままの名前で展開される
    念の為まっさらな状態のpukiwikiにパッチを当てた状態で試してみましたが同様でした。
    ローカルのtarコマンドでは問題なく展開できます。解決策はあるでしょうか?(そもそも2バイト文字をファイル名に使うのが良くないのですが…)

    • moerrari at 2011-07-20 (Wed) 00:36

      今日、この件を忘れて何の気なしに2バイト文字で始まる複数ファイルをtarにしてアップロードしたところ不具合なく添付できました。なぜ以前はできなかったのかは不明です。

*1 〜部はタグを含まない
*2 ファイルの文字コードをUTF-8に変更しただけでいけちゃいました :)
差分 一覧 編集