2021年4月 この範囲を時系列順で読む この範囲をファイルに出力する
2115です。RSSフィードだとimgタグを挟むaタグが含まれないので、原寸画像へのリンクや拡大表示をしたい場合に自力でaタグを生成する等の処理を加えないといけないのが面倒だなと思いまして…。あと埋め込むページからカテゴリへのリンクも入れようとしていたのですが、これもRSSフィード経由だと自力でやらなければいけない事が予想以上に多くて…。(カテゴリidとカテゴリ名を連想配列で紐付ける処理、2つ以上のカテゴリを指定していた場合の分割処理、新しいカテゴリが増えた時は連想配列部分を手動で増やす必要があるなど)
そんな中にししさんの解説記事を見て埋め込み用スキンを試しに作ってみたら、悩んでいた事が全部一気に解決して「うおおおお!すっげー!!てがろぐ最高!!!」と声を出して唸りました。埋め込む方法の解説記事は早い段階で見つけてはいたのですが、SSIおよびshtmlの方法だから関係ない・PHPならRSSフィードからやるしかないと思い込んでいたので最初はあまりじっくり読んでいなかったのです(^^;)何から何まで痒い所に手が届くCGIを作って下さって、そして便利な使い方の解説まで公開して下さって本当に感謝しております。
話は変わりますが、今まで自分でCGIのソースに手を加えてfuwaimgを使っていたのでVer 3.2.4β版の管理画面を早速覗きに行って喜んでます。次回のアップデートが楽しみです!
下図のように、管理画面の[設定]→[システム設定]で、画像拡大用スクリプトのURLを指定できるようになったほか、対象画像にclass名を加えないと動作しないFuwaimg等にも対応できるよう、画像に任意のclass名を付加できる項目(緑色矢印部分)も追加しました。LightboxやFancyboxのようにカスタムdata属性を使う場合は、従来通りLightbox用属性の付加項目(黄色矢印部分)を使えます。


➡この設定を実際に見るには、第2試験場へどうぞ。
🍵Re:2116◆ぎょへー!ぎょへー!ぎょへー!)゚o゚( ご報告をどうもありがとうございます。よくその解決方法にたどり着きましたね!?!?!? (;゚Д゚) 「CGIは設置できて動作もしているが投稿や設定操作ができない」という相談は過去に1回か2回くらい受けたことがあるのですが、よくよく調べると今回ご報告頂いたように「CGIのデータ送信先がサーバ側のディレクトリを含む形になっている」という謎の動作だったのですよね。そのときにその解決策を提示できたのだったかどうか微妙に自信がありません。どうだったかな……。なんか結局「このサーバでは諦めます」という結果になった方も1名いらっしゃったような気がするのですが。どひー!どひー!どひー! 貴重なご報告をありがとうございました。早めにトラブルシューティングに載せておきます。
🍵Re:2115◆ご活用をどうもありがとうございます。ちなみにですが、RSSフィードで埋め込まれていたときの「画像を含む投稿で不都合」というのはどんな問題だったのでしょうか。もしよろしければ教えて下さい。
最初に唐揚げの量を見て「全部食べるとちょっと食べすぎになるかな」とは思っていたものの、お腹が減っていたので結局全部食べたのでした。ぐふー。(今はお腹いっぱい)
>>2113
2111です。お二方ともご回答ありがとうございます。早速設置してみました。
レンタルサーバーの仕様通りパスとパーミッションを変更し、tegalog.cgiにもアクセスできたのですが、設定を変更しても投稿しても「そんなページないよ(意訳)」という英文のページに飛ばされてしまってちょっと頭を抱えました。
よくよくURLを見るとなんかおかしい。○○.com/home/ユーザー名/public_html/○○.com/~となってました。なんでホームディレクトリのパスがくっついてくるの…。そこでCGIの高度な設定にあるmy $howtogetpath = 2;の値を0に変更したらうまく動くようになりました。
ちなみにサーバーはカラフルボックスです。
#報告
てがろぐCGIが出力した最新の1件を任意の場所に埋め込む方法 がありますが、.phpのページに埋め込みたかったので力技で実現・成功しました。レアケースだと思いますが同様の事がしたい人がいらっしゃいましたら参考までに…。
やり方
①にししさんの解説 に従って「てがろぐCGIで最新の1件だけを簡潔に表示するスキン」を作る
②下の引用枠部分(<?phpから?>まで全部)をテキストエディタにコピペして、要設定部分を自分のサーバー仕様に合わせて書き換える。そしてtegalog_umekomi.phpなど任意の名前で、文字コードをUTF-8Nに指定して保存
③埋め込む側の.phpファイル内の埋め込みたい部分に include "tegalog_umekomi.php"; と書く
④埋め込む側のphpとtegalog_umekomi.phpを同じディレクトリにアップロード
<?php
//----------要設定部分----------
//てがろぐCGIがあるフォルダの絶対パスもしくは埋め込む.phpファイルから見た相対パス
//cgi本体のファイル名は含めない、最後の/は入れない
$tegalog_pass = "ttps://example.com/tegalog";
//てがろぐCGI本体のファイル名
$tegalog_cgi = "tegalog.cgi";
//埋め込み用スキンが入ってるフォルダ名
$skinname = "umekomi";
//てがろぐ内部画像が入ってるフォルダ名
$naibuimg = "images";
//---------設定ここまで---------
//埋め込み用スキンがHTML出力した内容を$content変数に入れる
$umekomi_html = "$tegalog_pass"."/"."$tegalog_cgi"."?skin="."$skinname";
$content = file_get_contents($umekomi_html);
//埋め込み用スキンがHTML出力した相対パス部分を置換
//内部画像の表示
$content = str_replace("src=\"$naibuimg/", "src=\"$tegalog_pass/$naibuimg/", $content);
//内部画像へのリンク
$content = str_replace("href=\"$naibuimg/", "href=\"$tegalog_pass/$naibuimg/", $content);
//カテゴリやハッシュタグなどCGIの機能を使ったリンク部分
$content = str_replace("href=\"?", "href=\"$tegalog_pass/$tegalog_cgi?", $content);
//リンク部分で、埋め込み用スキン指定になっているのを解除
$content = str_replace("skin=$skinname", "", $content);
//出力
echo $content;
?>
最初はRSSフィードを読んで出力する方法でやっていたのですが、画像を含む投稿で不都合があったのでこっちの方が良いです。また、この方法ならSSIの時同様きちんとPowered-by表記も入ります(^∀^)
無意識のうちに寝ぼけつつも回答を書いて投稿していたのかな、と一瞬思ってしまうほど完璧な回答をどうもありがとうございます。一分の漏れもない完璧かつ分かりやすい回答です。>>2112
🍵Re:2111◆サーバを移行する際には、基本的には tegalog.cgi の存在する場所にあるすべてのフォルダとファイルをまとめて移動すれば良いです。もし移動するファイル数を最小限にしたい等の事情がある場合は、おっしゃるファイル群に加えて psif.cgi(=パスワード・セッションID格納ファイル)もコピーして下さい。psif.cgiファイルをコピーしないと、全ユーザのパスワードが未設定に戻った状態で稼働してしまいますのでご注意下さい。
※psif.cgiファイルには、全ユーザのパスワードがハッシュ化されて保存されています。ハッシュ化というのは「元には戻せない暗号化」のような仕組みなので、ファイルの中身を覗いてもパスワード自体は分かりません(元のパスワード文字列に復元する技術的な方法が存在しません)。しかし、パスワードの正誤判定には必要です。
なお、psif.cgiファイルにはセッション情報(=ログイン状態)も保存されているのですが、ログイン状態は「ドメインに対するCookie」で維持されていますので、別ドメインに移動させるとログイン状態は解除されます。(※サーバを移動してもドメインが変わらなければセッションは維持できますが。)
その際、管理画面の下部に灰色で小さく表示されている「現在のログイン件数」は、(psif.cgiファイルで管理されているため)仮に『前のサーバで3件のログインがある状態』で新サーバに移行すると、『本来は誰もログインしていないのに、ログイン件数が3件ある』と認識されてしまいます。その状態でも動作に支障はありませんが、その表示に不都合を感じられるようでしたら、一度『全員を強制ログアウト』を実行して、ログイン件数を0にリセットしてからお使い頂くと良いです。#🌱豆知識
🍵Re:2110◆サポートありがとうございます。(╹◡╹) おっしゃるとおりです。
🍵Re:2109◆仕様上の上限はありません。何万文字でも投稿可能です。(参考:No.160)
🍵Re:2108◆いろはにほへとちりぬるを(続きは覚えていない)
睡眠も、足りない。_(:3」∠)_
>>2111
サーバーを移転予定なんですが、てがろぐを引き継ぐときは動作確認してからtegalog.xml、tegalog.ini、imagesフォルダを上書きすれば大丈夫なんでしょうか?
①現在(移転前)のサーバー上にあるtegalogフォルダを丸ごとFTPソフトでダウンロードする
②そのダウンロードしたtegalogフォルダを新しいサーバー(移転先)にアップロードする。投稿した画像ファイルまでアスキーモードでアップロードしてしまわないように注意
③新しいサーバーの仕様にあわせてパーミッションを設定 し直す
…で、過去ログや設定もそっくりそのまま移転出来ますよ。私はただの1ユーザーですが、実際にこの方法で別サーバーに移設しました。移転先のサーバーの仕様によってはtegalog.cgiの1行目 #! /usr/bin/perl の部分を書き換えないといけないかもしれませんが大抵これだけで行けるはずです。
#質問
>>2109
文字数の上限はあるのかな?
単なる1ユーザーですが、上限はなかったはずです。確か1投稿百万字でも書けるって話だったような。
🍨Re:2100◆たしかに解説分量が多すぎて情報を見つけづらい問題はありますね。そこはどうにかしたいと思ってはいるのですけども。画像ディレクトリのパーミッションは本当にあるあるなので、ここでも豆知識タグでNo.1515やNo.1218で年1回書いていたりするのですけども(^_^;)、焼け石に水みたいな感じですね。豆知識とFAQをまとめたページを作ろうとはしていまして、それができたら多少は(情報提供の分かりやすさが)マシになるかな……と期待しています。◆suEXECサーバのお知らせもありがとうございます。完全無料なサーバでも採用されているのですね。(採用する方が安全になるので、どこでも採用される方が望ましいわけですから、驚くことではないかも知れませんが。)
🍨Re:2101◆お知らせありがとうございます。(╹◡╹)ノ
🍨Re:2102◆お知らせありがとうございます。(╹◡╹)ノ
他にもお使いのサーバでsuEXEC対応でしたらぜひお知らせ下さい。➡緩募
>>2098
セットアップ方法解説ページにアップロードした画像が表示されない、ありがちな理由として書いていたのでした。
(´;ω;`) 簡易のセットアップにばっかり飛んでたせいで。おかしいなー問題あったらこの辺読んでねって言うセクションあったはずなのにーって、簡易セットアップの辺りを行ったり来たりしてましたorz すべて自業自得orz
詳細説明のページをブクマしておくことにします。ありがとうございましたー。
#[suEXECが採用されているレンタルサーバー]
https://www.usamimi.info/new/index.html
https://www.fya.jp
🍩Re:2094◆早速のβ版試用をどうもありがとうございます。うまく動いているようで良かったです。
🍩Re:2095◆クリスピークリームドーナツは東京にしかないのだと思っていたのですけども、もっと店舗はあったんですね。とはいえ私の近隣にはありませんでしたが。しかし梅田には2店舗ある模様。コロナ禍下で梅田に出張ることはありませんけども、機会があったら買ってみようかな……。
🍩Re:2096◆お酒なんですね。酒にしなくても良かったんじゃないかと思わなくもないですが。^^;
🍩Re:2097◆試行錯誤をお疲れさまでした。画像保存ディレクトリのパーミッションは、実は「画像はUPできるのに表示されない!」という問題では真っ先に疑うポイントでして、セットアップ方法解説ページにアップロードした画像が表示されない、ありがちな理由として書いていたのでした。suEXECというのはWebサーバ上でのCGIやSSIの動作を安全にする仕組みなので、導入する方が望ましい仕様ですから、次第にsuEXEC使用サーバの方が優勢になっていくのではないかと思います。
代わりに、スーパーで販売されていたカップティラミスを食べました。ぐふー。
最新のをDLしてテスト設置したんですが、なぜか画像が表示されない。アップはできてて、設置側のimagesフォルダから直には開けると言う、え?なんで?状態。
以前設置した292は画像がきちんと表示されてる。ので、292を別設置して、そこから最新版を新たにDLしてアップデート。まだ表示されない。
これはもしや設置のサーバーに何か問題が?と思って、別のサーバーに最新版を、前verとまとめてフルにしてアップロード。結果同じ。ええー?
色々考えられること(CGIの1行目を書き換える、アップロード時のサーバー側漢字モードを変える、imagesフォルダをサーバー側に新規作成する等)をやってみて、全滅。
まさかと思ってパーミッションをsuEXECのに変えたら表示されたorz ええーなんでー今まで大丈夫だったじゃーん。と思いましたが、たまたま使ってるサーバー側で何か変更があったんでしょうきっと。
次からはこういうエラーが出たら、まずパーミッションを変えると言うことをしてみたいと思います。絶望し掛けた時間を返せ(自業自得)。
何はともあれ、最新Beta版、動いております。ありがとうございますー。同じようなことで困ってる人もいるんじゃないかと思って、書いてみた。心が折れなくてよかった。
(滅多と画像投稿しないので気づかなかった。)
Twitterで見る デモモードで動作しています。ここでは、作者であるnishishiアカウント以外のツイートの埋め込みはできません。テキストリンクとして掲載は可能ですが、ツイート主が拡散を希望していない可能性がある点にもご配慮下さい。
名前は数年前に知ったが、なにせ近所にないので食べたことがない……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171