KENT-WEB サポートコーナー 過去ログ [ 0338 ]


記事No: 14886
投稿日: 2016/06/02(Thu) 17:26:43
タイトルWeb Patio 5.11にファイルアップロード機能を付け
ID情報: rick7634
投稿者: RICK
URLhttp://www.gamer-affiliate.com/cgi-bin/patio/patio.cgi

ファイルアップロード掲示板には「JoyfulNote」がありますが、
個人的には「Web Patio」にファイル添付機能を付けたいと考えています。

過去ログには参考になりそうな情報があったものの、
古いもの用で最新版との互換性はなさそうでした。

様々な改造版はあるもののベースが古いもののため
最新版のものに適用したいと考えています。

どなたか助力をお願いします。


記事No: 14887
投稿日: 2016/06/02(Thu) 19:20:27
タイトルRe: Web Patio 5.11にファイルアップロード機能を付け
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/fsw/wiki.cgi

Web Patioはファイル添付機能がついてるので、
その最新版をそのまま使えばいいのでは。


記事No: 14888
投稿日: 2016/06/02(Thu) 20:13:25
タイトルRe^2: Web Patio 5.11にファイルアップロード機能を付け
ID情報: rick7634
投稿者: RICK
URLhttp://www.gamer-affiliate.com/cgi-bin/patio/patio.cgi

>>hirayamaさん

あ、すみません。

zipファイルをアップロードできるように改造したいため
このスレを立てさせて頂きました。

説明不足申し訳ありませんでした。


記事No: 14889
投稿日: 2016/06/03(Fri) 12:17:18
タイトルRe^3: Web Patio 5.11にファイルアップロード機能を付け
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/fsw/wiki.cgi

>zipファイルをアップロードできるように改造したいため

元々画像ファイルしかアップロードできないようになっているようですね。

zipファイルをアップロードできるようにするにはregist.cgiのsub upload内
if ($fname =~ /(\.jpe?g|\.png|\.gif)$/i) {
   ↓
if ($fname =~ /(\.jpe?g|\.png|\.gif|\.zip)$/i) {

整合性チェックの部分も
unless (($mime =~ /^image\/gif$/i and $ex eq '.gif') or ($mime =~ /^image\/p?jpe?g$/i and $ex eq '.jpg') or ($mime =~ /^image\/(x-)?png$/i and $ex eq '.png')) {
   ↓
unless (($mime =~ /^image\/gif$/i and $ex eq '.gif') or ($mime =~ /^image\/p?jpe?g$/i and $ex eq '.jpg') or ($mime =~ /^image\/(x-)?png$/i and $ex eq '.png') or ($mime =~ /^application\/(x-)?zip(-compressed)?$/i and $ex eq '.zip')) {

とzipファイルの処理を追加します。

これでアップロードできると思いますが、このままだと、アップロードしたzipファイルを画像として表示しようとして、
リンク切れ表示になるので、patio.cgiの sub image 内を以下のように変更します。

$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="$cf{uplurl}/$pic" width="$w" height="$h" hspace="2"></a>|;
   ↓
if ($pic !~ /(\.gif|\.jpe?g|\.png)$/i) {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="./icon/fld_bell.gif" width="$w" height="$h" hspace="2"></a>|;
} else {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="$cf{uplurl}/$pic" width="$w" height="$h" hspace="2"></a>|;
}

アップロードしたファイルの拡張子が画像ファイルじゃなかったら、別のアイコン画像に変える処理です。


記事No: 14893
投稿日: 2016/06/03(Fri) 16:49:06
タイトルRe^4: Web Patio 5.11にファイルアップロード機能を付け
ID情報: rick7634
投稿者: RICK
URLhttp://www.gamer-affiliate.com/cgi-bin/patio/patio.cgi

>>hirayamaさん

貴重な情報ありがとうございます。

regist.cgiの「sub upload」
patio.cgiの「sub image」

の2つをいじればいいことは理解出来たものの、
上記の通り実践して見たものの上手くいきませんでした。

現在上記の2つの関数を「Joyful Note」から移植することを
考えましたが、なかなかうまくいきません。

多分変数の取り方がおかしいのだと思われます。

なにかアドバイスがあればお願いします。


記事No: 14894
投稿日: 2016/06/03(Fri) 19:04:04
タイトルRe^5: Web Patio 5.11にファイルアップロード機能を付け
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/fsw/wiki.cgi

Joyful Noteは最初から画像以外のファイルをアップロードすることを想定されているので、
init.cgiでZIPファイルのアップロードを許可するだけで対応できますが、
Web Patioの場合は、元々画像ファイル以外のアップロードを受け付けないよう書かれています。
処理がかなり違うので、Joyful Noteからアップロード部分を移植するのは難しいと思います。

Web Patioの画像以外拒否する処理を、zipファイルだけは受け付けるようにしたのが上記の修正です。

>上記の通り実践して見たものの上手くいきませんでした。
具体的にどのようにうまくいかないのでしょうか。


記事No: 14895
投稿日: 2016/06/03(Fri) 19:33:29
タイトルRe^6: Web Patio 5.11にファイルアップロード機能を付け
ID情報: rick7634
投稿者: RICK
URLhttp://www.gamer-affiliate.com/cgi-bin/patio/patio.cgi

>具体的にどのようにうまくいかないのでしょうか。

FTPで閲覧した所zipをアップロードしても
 uplフォルダには何もありませんでした

▲▲奪廛蹇璽匹気譴燭箸靴討眦塞佞離▲ぅ灰鵑表示されませんでした。


記事No: 14896
投稿日: 2016/06/03(Fri) 20:00:56
タイトルRe^7: Web Patio 5.11にファイルアップロード機能を付け
ID情報: hirayama
投稿者: hirayama
URLhttp://shade-search.com/sts/fsw/wiki.cgi

それでは、
unless (($mime =~ /^image\/gif$/i and $ex eq '.gif') or ($mime =~ /^image\/p?jpe?g$/i and $ex eq '.jpg') or ($mime =~ /^image\/(x-)?png$/i and $ex eq '.png') or ($mime =~ /^application\/(x-)?zip(-compressed)?$/i and $ex eq '.zip')) {
の部分を
unless (($mime =~ /^image\/gif$/i and $ex eq '.gif') or ($mime =~ /^image\/p?jpe?g$/i and $ex eq '.jpg') or ($mime =~ /^image\/(x-)?png$/i and $ex eq '.png') or $ex eq '.zip') {
に変更してzipファイルのMIMEチェックを省略してみるとどうでしょう?


記事No: 14897
投稿日: 2016/06/04(Sat) 05:08:41
タイトルRe^8: Web Patio 5.11にファイルアップロード機能を付け
ID情報: rick7634
投稿者: RICK
URLhttp://www.gamer-affiliate.com/cgi-bin/patio/patio.cgi

うまく動作させることが出来ました。

しかし、調べた所、「Forum Patio」の方が高機能で新しいことが発覚したため、そちらを使うことに致します。

お手数かけてすみませんでした。


記事No: 14938
投稿日: 2016/06/29(Wed) 03:36:59
タイトルRe^9: Web Patio 5.11にファイルアップロード機能を付け
ID情報: rick7634
投稿者: RICK
URLhttp://bbs.dojin-rpg-cheat.com/bbs/patio.cgi

備忘録として
・ZIP(.zip)
・テキスト(.txt)
・Word(.doc/.docx)
・Excel(.xls/.xlsx)
・Power Point(.ppt/.pptx)[
・PDF(.pdf)
をアップロードできるようにした方法を書いておきます。

【regist.cgi】

<# ファイル名>

if ($fname =~ /(\.jpe?g|\.png|\.gif)$/i) {



if ($fname =~ /(\.jpe?g|\.png|\.gif|\.zip|\.txt|\.xlsx?|\.docx?|\.pptx?|\.pdf)$/i) {

<# 整合性チェック>

unless (($mime =~ /^image\/gif$/i and $ex eq '.gif') or ($mime =~ /^image\/p?jpe?g$/i and $ex eq '.jpg') or ($mime =~ /^image\/(x-)?png$/i and $ex eq '.png')) {



unless (($mime =~ /^image\/gif$/i and $ex eq '.gif') or ($mime =~ /^image\/p?jpe?g$/i and $ex eq '.jpg') or ($mime =~ /^image\/(x-)?png$/i and $ex eq '.png') or $ex eq '.zip' or $ex eq '.txt' or $ex eq '.xls' or $ex eq '.xlsx' or $ex eq '.doc' or $ex eq '.docx' or $ex eq '.ppt' or $ex eq '.pptx' or $ex eq '.pdf'){

【patio.cgi】

<sub image>

$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="$cf{uplurl}/$pic" width="$w" height="$h" hspace="2"></a>|;



if ($pic =~ /(\.zip)$/i) {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="./icon/icon-zip.png" width="$w" height="$h" hspace="2"></a>|;
}elsif ($pic =~ /(\.txt)$/i) {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="./icon/icon-txt.png" width="$w" height="$h" hspace="2"></a>|;
}elsif ($pic =~ /(\.xlsx?)$/i) {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="./icon/icon-xls.png" width="$w" height="$h" hspace="2"></a>|;
}elsif ($pic =~ /(\.docx?)$/i) {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="./icon/icon-doc.png" width="$w" height="$h" hspace="2"></a>|;
}elsif ($pic =~ /(\.pptx?)$/i) {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="./icon/icon-ppt.png" width="$w" height="$h" hspace="2"></a>|;
}elsif ($pic =~ /(\.pdf)$/i) {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="./icon/icon-pdf.png" width="$w" height="$h" hspace="2"></a>|;
}else {
$img .= qq|<a href="$cf{uplurl}/$fnam-$i$ex" target="_blank"><img src="$cf{uplurl}/$pic" width="$w" height="$h" hspace="2"></a>|;
}

各種画像は「Web Patio Plus」にあるものを使用しました。
ファイル名は適宜修正しています。
http://drc3.news-site.net/script1/patio.html



[検索ページ] [掲示板]