過去の質問に画像のアップロード機能の付け方が載ってたので、色々調べてみたのですが・・・
なぜかうまく動作しません。エラーがでてしまいます。
過去の質問では
<FORM action="xxxx.cgi" method="post" enctype="multipart/form-data">
<INPUT type="file" name="gazo">
<INPUT type="submit">
</FORM>
とあり、これでアップロードさせるためのフォームを作成するのでしょうが、実際追記してみると、エラーがでてしまいました。
そこで、ぜひ画像のアップロード機能の解説をお願いしたいのです。
解説ページを探したのですが、見つかりませんでした・・・
どなたか、レスお願いします
No.1ベストアンサー
- 回答日時:
タグを書くだけではファイルのアップロードはできません。
それを受け取って処理し、保存するプログラムがなくては…
おそらくエラーはそのプログラムの方にあるのではないですか?
タグを書いただけでエラーというのは
print "<FORM action="~>";
という感じで""内に"がある等の場合だと思います。
一度画像をアップロードできるフリーの掲示板等をダウンロードして、動きを確認されてはどうですか?
そういう掲示板を配布しているサイトをご紹介しますね。
参考URL:http://www.kent-web.com/
この回答への補足
yuizuianさん、レスありがとうございます
参考URLからアップロード付掲示板をダウンロードして解析しましたが・・・
理解できません(T-T)
とにかく、それらしい所をコピーして貼り付けてみましたが・・・どうもうまくいかないみたいです
参考にした掲示板の473行目&UpFileの中身がさっぱり理解できないです
たぶん、最初の方でファイルの拡張子の設定(?)をして、527行目の
$upfile = $in{'upfile'};
でファイル名を設定。537行目の書き込み作業で終了・・・
これだけでは駄目なのでしょうか?
それと、この書き込みはサーバーにアップロードするという意味でしょうか?
ログファイルに書き込んでいるようには思えませんが・・・
解析できない程度の知識では、やはりあきらめろってことですか(T-T)
No.3
- 回答日時:
>解析できない程度の知識では、やはりあきらめろってことですか(T-T)
配布されているのはプログラムがわからなくても利用できるものではないでしょうか。
blackcat3さんがどのようなものを使用してどのくらいの部分でどのようなエラーがでているのかがまったく伝わってきません。
それで答えを求められても・・・・といったところです。
まず、xxxx.cgiは自分で作ったものなのか、公開されていて実行の実績を持っているものなのか。
ここの説明ではなく公開されているページどおりに使用しているのか。
そしてどこでどのようなエラーが発生しているのか。
サーバーにデータが送られてからのエラーなのか送る前にエラーが発生しているのか。
ちなみに幾つかのエラー原因をあげてみます。
1.cgiがファイル読込みに対応していない。
(multipart/form-dataに対応していない。)
2.multipart/form-data以外も送っていて矛盾が発生している。
3.指定したURLにcgiが存在しない。
4.ローカルサーバーを立ち上げずにローカルエリアで行っている。
5.保存指定エリアのフォルダの権限が読込みのみで書き込み権限が与えられていない。
6.画像保存の以前にプログラムがエラーを発生している。
7.cgiが動作しない環境下である。
8.読み込んだファイルを保存しようとするアドレスが見つからない。
9.プログラムのほうで読み込めるバイトサイズが指定されていてそれを超えるデータを送ろうとしている。
10.cgiに書き込み権限を与えていない。
11.拡張子が排他的設定になっている。
・
・
・
・
・
考えられる原因というのはそれこそ星の数ほどあります。
基本的に
ブラウザ
html
パーミッション
cgi
の4種類でエラーが発生します。
>とにかく、それらしい所をコピーして貼り付けてみましたが・・・どうもうまくいかないみたいです
自作プログラムに貼り付けたとするならそれは無茶です。
変数などいろいろなところで誤動作を起こしているのではないでしょうか?
まずはともかく配布されているものをそのまま使用してみることをお勧めします。
それでうまくいけば問題がcgiに絞れます。
>解説ページを探したのですが、見つかりませんでした・・・
突拍子もなく部分部分で見るのではなくまずは基本的なところから学んでいったほうが良いのでは?
そうでなければ説明されたって理解できないと思いますよ。
ついでに、他の良回答を得ている方がどのような質問をしているのか見てください。
質問の仕方によって求められる回答というものは天と地ほどに変わってきます。
説明不足ですね
申し訳ありませんでした><
とりあえず、もう少しレベルアップしてから再挑戦してみたいと思います
ありがとうございました^^
No.2
- 回答日時:
どのスクリプトをDLされたかも解らないので何行目…といわれても「?」なのですが…
>とにかく、それらしい所をコピーして貼り付けてみましたが・・・どうもうまくいかないみたいです
そこだけで動いているのではないので、できないのは当たり前です。
&ReadParse;←これは結構ポイントかも?cgi-libについてはご存知ですか?
>たぶん、最初の方でファイルの拡張子の設定(?)をして、527行目の
>$upfile = $in{'upfile'};
>でファイル名を設定。537行目の書き込み作業で終了・・・
大雑把に言うと、
ファイルの形式を解析すると同時に、Macからのアップロードであるかを判定
(Macからのアップは不要なバイナリコードが付加されていますから…)
その後画像を保存…という感じです。
>それと、この書き込みはサーバーにアップロードするという意味でしょうか?
>ログファイルに書き込んでいるようには思えませんが・・・
そうですね。
open関数はご存知ですよね?
open(OUT,"> $ImgFile")はファイルが存在しなければ新規作成を試みますよね。
つまり$ImgFileに格納されているファイル名のファイルを作成し、
その中にファイルのデータを書き込んでいるんです。
(もちろん画像を格納するディレクトリに書き込み権限がなくてはいけません)
もしどうしても解析しきれない、作れないというのであれば、その掲示板を改造して使用するのも手だと思いますよ。
この回答への補足
確かに、スクリプト名もなにも言ってませんでした
すみません(^^;
とりあえず現段階の私の知識では無理ということがわかりました
ただコピーしただけで動くわけありませんしね
もう少し独自に勉強してから再挑戦してみようと思います
本当にありがとうございました^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ログイン成功の後は?
-
mod_perlとディレクトリ
-
ファイル書込時にPermission de...
-
アンケートフォームの作成
-
use と require の違いが分か...
-
アクセスカウンターが出来ない
-
QUERY_STRING が、SSIを使用す...
-
Perlスクリプトが、ローカ...
-
a.cgi経由で、b.cgi実行
-
apacheのCGI設定について教えて...
-
セッションファイルが作成でき...
-
フォームから受取ったデータを...
-
Movable Typeでmt-check.cgi実...
-
さくらレンタルサーバーのライ...
-
perlのrequireの動き方について...
-
Perlで書いたページが表示されない
-
cgiからcgiをコールする。
-
よくある 『 第○(1・2・3・4・...
-
DBを10件毎に表示ページング...
-
エクセルで相対パスの書き方を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlのrequireの動き方について...
-
Quantifier follows nothing in...
-
jcode.plが読み込めない
-
cgiとplとpm
-
htmlからテキストを返すperlを...
-
requireでreturnを使いたいので...
-
Perlソースを2つのファイルに分...
-
htmlファイルへのcgiの組み込み...
-
use CGI
-
セッションファイルが作成でき...
-
useとrequireでエラー
-
バイナリファイルのアップロード
-
自CGIのURLのパス部分を取得す...
-
Location: で cgi → c...
-
apacheのCGI設定について教えて...
-
error_logファイルの中身で教え...
-
webからroot権限のコマンドを実...
-
cgiからcgiをコールする。
-
Perlのデバッグ方法って。。。...
-
Perlの作動不具合、missing bra...
おすすめ情報