• ベストアンサー

画像ファイルを読み込んでコピーする方法

画像ファイル(gif,jpg)などを読み込んで、読み込んだファイルを指定のフォルダにほり込みたいのですが、方法が思いつきません。ライブラリを使えば簡単にできるのですが、原理というか一連の流れを知りたいので、良い方法を知ってるかた、誰かおしえてくれませんか? 標準入力をつかってバイナリーで読み込めばいいというのはチラッときいたのですが、イマイチわからなくて・・・。

  • Perl
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • aton
  • ベストアンサー率47% (160/334)
回答No.3

 #2のサンプルコードに補足&訂正です。 open(INFILE, "画像ファイル名"); #画像ファイルを開く binmode(INFILE); #バイナリモード指定 $len = (-s "画像ファイル名"); #画像ファイルのサイズ read(INFILE, $buf, $len); #画像ファイルを$bufに読み込み ... open(OUTFILE, "> フォルダー名/画像ファイル名"); #出力先ファイルを開く binmode(OUTFILE); #バイナリモード指定 print OUTFILE $buf; #画像ファイルの出力  こんな感じでうまくいくはずです。

hidebu-
質問者

お礼

どうもありがとうございます。質問してから、自分でも調べてみたのですが、回答の内容とほぼ同じような結論にいたりました。 フォームデコーダはcgi-libを使うしかないようですね。。。こればっかりは仕方がありませんね。

その他の回答 (2)

  • aton
  • ベストアンサー率47% (160/334)
回答No.2

 再びatonです。  なるほど,システムはもうできているけど,原理を知りたいということですね。  実際にどんなライブラリーを使っているのかが分からないとせいかくなことは言えませんが,画像ファイルを読み込んで,またそれを出力するだけなら, open(INFILE, "画像ファイル名"); #画像ファイルを開く binmode(INFILE); #バイナリモード指定 $len = (-s "画像ファイル名"); #画像ファイルのサイズ read(INFILE, $buf, $len); #画像ファイルを$bufに読み込み ... open(OUTFILE, "ディレクトリー名/画像ファイル名"); #出力先ファイルを開く print OUTFILE $len; #画像ファイルの出力 てなかんじになるのではないでしょうか。 #最後の行,printでバイナリデータがちゃんと出力できるかどうかがちょっと自信ありませんが。

  • aton
  • ベストアンサー率47% (160/334)
回答No.1

 単にファイルを所定のフォルダに入れたいだけなら,Unix系のOS上であれば, system("cp 画像ファイル名 行先フォルダ名"); で充分なのでは? Windows上で動くPerlについても,よく知らないので確かなことは言えませんが,""の中身をOSに合わせて変えてやれば同様のことはできるのではないかと思います。 #もちろん,画像ファイルや行き先フォルダのアクセス権を #Perlスクリプトが持っていることが前提です。  そうではなくて,画像ファイルを読み込みたい理由が何かあるのでしょうか?

hidebu-
質問者

補足

回答してくださって、ありがとうございます。スキャナ等で取り込んだ画像に名前をつけて、クライアント側から画像の種類ごと、サーバーの中の別々のフォルダにほりこむという作業なのですが、、、エンドユーザーがPCの知識がほとんどないということを前提にプログラムを作成しないといけないのです。ですからGUIからマウスだけで、指示どおりにクリックすると放りこめる必要があるのです。システム自体はライブラリを使用して完成しているのですが、原理をしらないと追加機能を作成するときに困ると思ったので質問したのです。 ちなみにサーバーはNTサーバーらしいのでパーミッション設定はいりません。

関連するQ&A

  • 画像ファイルが開けません。

    私が使っているパソコンは、 NECのデスクトップ型です。 WINDOWS98です。 何かのソフトをインストールしてから、 画像ファイル(GIFとJPEGとJPG)が、開けません。 JPGのファイルを開こうとすると、 下記のようなメッセージが出てきます。 ~~~~~~~~~~~~~~~~~~~~~~~~~ 関連付けるアプリケーションの設定エラー 新しいフォルダが見つかりません。 このプログラムは、種類が’JPGファイル'のファイルを 実行するために必要です。 新しいフォルダの場所: (ここにファイルのアドレスを入れる空欄) 【OK】 【キャンセル】 【場所(L)】  ↑ボタンです。 ~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~ GIFのファイルを開こうとすると、 下記のようなメッセージが出てきます。 ~~~~~~~~~~~~~~~~~~~~~~~~~ ユーザ補助の設定ウィザード ユーザ補助の設定ウィザードの実行中、指定された ファイルの読み込みで問題が発生しました。       【OK】←ボタンです。 ~~~~~~~~~~~~~~~~~~~~~~~~~ JPEGのファイルを開こうとすると、 「Micrografx PhotoMagic」で、開かれます。 ~~~~~~~~~~~~~~~~~~~~~~~~~ これを、元通り開けるようにするには、どうすればいいでしょうか? 分かる方、いましたらお返事お願いします。

  • 突然画像ファイルが見えなくなった

    win98アップグレード版を使用しています。 ある時突然、JPEG/GIF等の画像ファイルが開かなくなりました。 画像を右クリックして画像を開くをクリックすると一応見る事は出来ますが、壁紙等も、BMP以外は表示されず、HPに至っては全ての画像上で右クリックして画像を開くを指定しなくてはなりません。 フォルダオプションからファイルタイプを見ると、JPEG IMAGEの項目がなく、しかし追加しようとすると.JPGの拡張子は既に使われているので別の拡張子を指定してくれとの事。 どう言う事なのでしょうか?

  • デスクトップにある画像ファイル

    フォルダオプションで、隠しファイルを表示しました すると、デスクトップに AlbumArtSmall.jpg Folder.jpg など というファイルが表示されます 画像はWMPライブラリに登録してる音楽のアルバムアートなんですが、これってなんでデスクトップに隠しファイルとして表示されるんですか? この他に、画像の大きさが違ってて、ファイル名がやたらごちゃごちゃしてるjpeg画像ファイルもあります アルバムアートはかなり登録してますが、デスクトップに表示されるのはこれだけです 削除してももんだいないでしょうか?

  • 画像ファイルの関連付けについて

    jpgやgif、pngといった画像ファイルを開く際に「MassiGra」という画像ビューワを利用し始めました。 画像ファイルを開く際には常にこのMassiGraが起動するよう関連付けを行ったのですが、 MassiGra.exeをDドライブからCドライブに移動した後に関連付けが解除されました。 再びjpgやgifといった画像ファイルをMassiGraに関連付けしたいのですがMassiGra.exeを「ファイルを開くプログラムの選択」で指定しても プログラム一覧の中にMassiGra.exeが現れず結局標準のWindowsフォトギャラリーのままです。 どうすればまた画像ファイルをMassiGraに関連付けできるのでしょうか?

  • gifファイルの画像を、保存して見る方法は。

    gifファイルの画像を、保存して見る方法は。 ネット上の画像を保存しようとしたら、新しいフォルダが開いて、ファイルの種類の欄に、GIF(*.gif)と表示されます。 そこで保存として開こうとすると、画面には何も映りません。 どのようにしたら、見れますか? PCの素人なもので、すいませんが宜しく教えてください。

  • またまた発生、特定の画像ファイルが表示できない

    このサイトでも良く取り上げられているようなのですが、この様な症状はいったいなぜ起きるのでしょうか? 【現象】 ある Gif ファイルが Http だと表示できない。 具体的には・・・・ Windows NT Server 4.0 / IIS 4.0 を使っています。 画像格納専用フォルダを作製し、画像データ(gif,jpg) は全てここに格納します。 このフォルダ内のある特定の gif ファイルが IE で表示しようとすると ×に成ります。 エクスプローラーからドラッグして IE5.5(SP2) にドロップすると表示されます。 しかし、http://~ aaa.gif とすると「ページが表示できません。」となります。 ※上記と同様の方法で他の同じフォルダ内の画像データは表示できます。 http://~ で表示しようとすると出来ないようです。(画像データが壊れているわけではなさそうです。) もしご存知の方いらしたら、よろしくお願い致します。

  • jpg画像のファイルサイズを小さくしたい

    あまり色の数が多くないjpg画像をフリーソフトでgifに変換して見ましたらファイルサイズが大きくなります。 gif以外の種類の画像に変換しても全てファイルサイズが大きくなります。 画質を悪くしないでjpgファイルサイズを小さくする方法はないでしょうか?

  • 画像ファイルを保存したい

    gooブログで画像を貼りたいのですがgif, jpg, pngという形式のファイルしか出来ないようで、かといって色々な検索サイトの画像検索で出てくるファイルはファイル名には・・・jpg とあるのですが、保存する時にはなぜかビットマップに変わってしまいます。なぜなんでしょうか。何かいい方法があれば教えてください。

  • OSXにて複数画像ファイル検索・コピー

    OSXにて同名の画像ファイル(拡張子以外)をまとめて複数検索(ハードディスク内)して特定の場所に自動でコピーさせることは可能でしょうか? 例 aaa.jpg bbb.jpg ccc.jpgを検索      ↓ aaa.eps bbb.eps ccc.epsを指定したフォルダーなどにコピー フォルダアクションで、jpg画像を入れるとepsファイルが検索されコピーされるとか、テキストでファイル名を渡すと検索されコピーされるとかあると非常に助かります。 できれば、無料のアプリか簡単なスクリプトなどでできると更に助かります。 良い知恵をお持ちの方がいらっしゃいましたら、よろしくお願いいたします。

    • 締切済み
    • Mac
  • 画像が表示されません

    お世話になっています。 ホームページビルダー9とFFFTPを使って、HPを作ろうとしています。 トップページはなんとかアップできたのですが、 下位ページで、画像がアップできずに困っています。 「HP」フォルダにhtmやhtmlファイルを保存しています。 「HP」フォルダの中に「img」フォルダを作成し画像を保存しています。 今回表示できないファイルはgifで、ビルダー9のロゴ作成から作ったtop.gifと言うgifと、無料の素材屋さんから頂いたkouji.jpgと言うjpgファイルです。 これらも「img」フォルダに保存されています。 FFFTPで転送する際には、「img」フォルダとそれぞれのファイルも転送しました。 jpgの方は、imgフォルダに保存してからビルダーに張り付けたので、名前が間違っていると言うことはないと思われます。 実際、双方ともローカルでは表示されています。 解決方法を教えていただきますようよろしくお願いします

専門家に質問してみよう