質問箱/4083

カテゴリ
サマリ全ファイルを一度に更新
バージョン1.4.7
投稿者ニヒー?
状態質問
投稿日2007-05-18 (金) 01:32:42

質問

全てのファイルを一気に更新する方法はありませんか?

たくさんのページにそのページへのリンクを埋め込みたくて、よくある[ [ & p a g e ; > & f p a g e ; ] ]このようなソースなのですが、regexp.inc.phpを使って& p a g e ;と& f p a g e ;を置換しようと思ったのですが、出来なかったです。質問箱/4087

それで、だったらFTPで全ファイルダウンロードしてローカルで置換してもう一回アップロードしなおせばいいかと思い、ためしに1ファイルやってみました。

ところが今度はまた別の現象で困っています、置換された& p a g e ;& f p a g e ;の文字はWIKI上で見たときに、ページ名に置き換わっているのですが、通常この様なソースは[ [ページ名 > パス/ページ名 ] ]と置き換わり、下のようなリンクとして働くはずなのです。 ページ名?

ところが、ソースを見ると[ [ & p a g e ; > & f p a g e ; ] ]のままなのです。

そのせいか、リンクとして働かず[ [ページ名 > パス/ページ名 ] ]と表示されているのです。

そこで、そのページをいったん開きソースを一切触ることなく、ページの更新をすると、[ [ページ名 > パス/ページ名 ] ]と置き換わり、下のようなリンクとして働くようになるのです。 ページ名?

これでは、置き換えたいページを一つ一つ1回ずつ開いて更新を押さなければいけません。 たくさんnページがあるので、大変です。

1度にページを全部更新できる裏技があれば、このローカル置換方法で出来るのですが。

同じ事で困っている人がいてもよさそうですが、検索したところ、過去に同じ質問は出ていなさそうです。

回答

  • teananさんの自作プラグイン/replace.inc.phpを注意書きをよく読み納得した上で! -- 2007-05-18 (金) 08:59:36
  • 回答ありがとうございます。 そのプラグインを試してみたのですが、結局だめでした。 -- ニヒー? 2007-05-19 (土) 12:59:13
  • 上の内容をわかりやすく書き直しました。 regexp.inc.phpとちがいreplace.inc.phpは文字自体の置換は出来たのですが、結局上の現象は起きてしまいます。 -- ニヒー? 2007-05-19 (土) 13:01:14
  • 「現象」と書かれていることは仕様ではないでしょうか。PukiWiki上でページの更新が発生した際に件の置換が行われるわけで、ニヒーさんが挙げた例ではPukiWiki上でのページ更新は発生していないかのですから、当然です。「たくさんのページにそのページへのリンクを」付けたいなら、スキンを編集すればいいんじゃないですか?まぁ、この場合、厳密にページ本文ではないですが。また、ニヒーさんのやりたいことは簡単なPHPスクリプトでも可能でしょう。
    • いい加減な例
      <?php
      foreach (glob('*.txt') as $fn) {
          $fpage = pack('H*', substr($fn,0,-4));
          $page = basename($fpage);
          $fc = file_get_contents($fn) .  "\n[[$page>$fpage]]\n";
          $fp = fopen($fn,'w');
          fwrite($fp, $fc);
          fclose($fp);
      }
      ?>
      お試しの場合は、危険を理解した上、自己責任で。 -- 2007-05-19 (土) 21:00:00
  • これはどうやってつかうんですか? -- 2007-05-21 (月) 05:01:21
  • ページ更新が発生というのはつまり、page_write 関数が呼ばれたときではありませんでしたっけ?上のコードだと変換処理を行っている要素がないかと。 -- 2007-05-21 (月) 12:30:20
  • そもそも&fpage;や&page;の変換処理を使っていないので必要ありません。これはページデータファイルに直接[[階層を除いたページ名>階層を含む完全なページ名]]を追加するものです。取り敢えず簡単にやる例として書いてみましたが、お使いになられない方が賢明でしょう。 -- 2007-05-21 (月) 21:55:09


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-10-03 (水) 23:27:10
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.259 sec.

OSDN