read() on unopened filehandle at…というエラーが出て困っています。
Perlで画像ファイルをアップロードしたものをサーバー内のディレクトリに保存するようなものを作っているのですが、ファイルハンドルが開けなくて困っています。
ソースはほぼほぼ以下の通りです。
http://www.jun2065.net/index.php?Perl%B4%D8%CF%A …
宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
> #ファイルサイズのチェックを行う
> while($bytesread = read($filename, $buffer, $BUFSZ)){
> $file .= $buffer;
>
> $file_size ++;
> if($file_size > 300){
> exitError("ファイルサイズが大きすぎます。600KB 以下にして下さい。");
> }
> }
...,..
> # ファイルを指定ディレクトリにコピー
> open(OUT, ">$uppath/$upfile") or die "Can't open $uppath/$upfile";
> binmode OUT;
> while (read($filename, $buffer, 1024)) { # Read from $fh insted of $file
> print OUT $buffer;
> }
> #FILEHANDLEのファイルをバイナリモードで扱うようにします。
> #バイナリファイルとテキストファイルを区別しないOSでは何もしません。
> binmode(OUT);
> print(OUT $file);
> close(OUT);
リンクを見てみましたが、2重に読み込んで2重に書き込むようになっているようです。
「ファイルを指定ディレクトリにコピー」の個所の while ループは、特に必要がないの
でコメントアウトしてはどうでしょうか。(CGI.pm のアップファイルの取り扱いについて
詳しくないので、誤っているかも知れません。)
丁寧な回答ありがとうございます。
問題はcgiで$cgi->upload()したものをハンドルして使っていないということだと分かりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 任意の置換を互換の積で表すプログラム 4 2022/11/13 19:10
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- 数学 「<マクローリン展開> f(z)=Σ_{n=-∞~∞}a(n)(z-a)^n(ローラン展開の式)より 3 2022/09/01 08:19
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- 数学 任意の置換を互換の積で表すことについて 2 2022/11/07 22:31
- 工学 画像はテイラー展開の公式です。 <マクローリン展開> f(z)=Σ_{n=-∞~∞}a(n)(z-a 1 2022/09/01 22:56
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
- DIY・エクステリア 天然石に穴を開けたいです。 硬度5と硬度7ぐらいの石です。 硬度5がおもなので硬度7が難しければ硬度 4 2022/11/14 15:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列をカウントする方法
-
ファイル全てを .xlsm に変更し...
-
csvファイルの横方向への改行に...
-
MATLABのm-fileについて
-
WindowsでPerlをする際,1行目の...
-
Perl の「stringify」の意味に...
-
AutoNts
-
ファイルの存在の有無を確かめ...
-
一定時間が経過したフォルダの削除
-
while(<ハンドラ>) {} で行数を...
-
画像アップロード機能を追加し...
-
batファイルでrenameができませ...
-
while文がうまく動かない
-
VBAでCSVファイルの特定行を書...
-
配列のサイズを動的に拡張
-
ディレクトリのファイル作成を...
-
ANSI Cでファイル名、ディレク...
-
VB6.0でDB接続する際に切断時の...
-
Pythonの再帰関数の動作の流れ...
-
AutoCADのスクリプト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.open でのファイル指定方法
-
csvファイルの横方向への改行に...
-
python renameについて
-
VBAコードを張り付け後のエクセ...
-
ファイルの存在の有無を確かめ...
-
行を指定して削除する方法PERL
-
VBA テキストファイルを読み取...
-
ファイル全てを .xlsm に変更し...
-
Firefox で file:// で始まる U...
-
fgets で値が取得できない
-
perl ファイルが開かない
-
MATLABのm-fileについて
-
Perl の「stringify」の意味に...
-
PerlでのUseless use...
-
JSP URLに表示される拡張子 .jsp
-
巨大なテキストの最終行を取得...
-
複数ファイルを1つにするシェ...
-
drtファイルはどうしたら開...
-
fopen64について
-
perlで画像をダウンロードしよ...
おすすめ情報