• 締切済み

画像をバイナリで開く

unlaxの回答

  • unlax
  • ベストアンサー率100% (2/2)
回答No.2

fopenでそもそもバイナリーデータを開く事は難しいです。 詳しくはバイナリーセーフについて。

参考URL:
http://itpro.nikkeibp.co.jp/article/COLUMN/20070402/267126/
nyalio
質問者

補足

fopenで普通にいけましたー。 実はcsvからファイルを指定→バイナリで開くという方法をとっていて、 単純にcsv側の問題だったみたいです。 お騒がせしました。

関連するQ&A

  • PHPで画像を取得、保存する方法

    以下で画像を取得、保存する事が出来ましたが、このプログラムで大丈夫でしょうか? 画像取得、保存の関数やもっと良い方法があれば教えて下さい。 <?php echo "あいうえお"; $temp=file_get_contents("http://www.google.co.jp/intl/ja_jp/images/logo.gif"); echo $temp; echo "<HR>"; $handle=fopen("test.gif","w"); fwrite($handle,"$temp"); fclose($handle); echo "<img src=\"./test.gif\">"; if(is_string($temp)) echo "STRING<BR>"; ?> 疑問点について。 上記プログラムですと、画像を入れた変数$tempが文字列として出力されますが、 1行目の、echo "あいうえお";をコメントアウトするとブラウザに画像が表示されるだけで、fopen,fwriteはきちんと処理されているのにechoの出力が無視されるのはどうしてですか?

    • ベストアンサー
    • PHP
  • ディレクトリ内の最新の画像のみ表示したい。

    ディレクトリファイルから画像ファイルの更新日時を取得して、 拡張子を問わず、最新の画像のみ表示させたいのですが、 うまく出来ません。ご教授お願いします。 ~・~・~・~・~・~・~ <?php $dir = @opendir("****"); while($file = readdir($dir)) { $kaku = substr($file, -3, 3); if($kaku=="jpg" || $kaku=="gif" || $kaku=="png"){ $cnt++; $last = date("ymdHis", filemtime($file)); $img="$last$file"; $filename[$cnt]=$file; } } closedir($dir); } arsort($img); $img_file= substr($img, 12); $cnt=0; foreach($img_file as $value){ $cnt++; if ($cnt<=1){ echo "<img src=\"$value\">"; } } ?>

    • ベストアンサー
    • PHP
  • fopenの使い方?(画像の保存)

    お世話になります。 exif_thumbnailで取得したサムネイル画像をjpgファイルとして元画像ファイルとは別名で保存したいと考えています。 テストで以下のようなコードを作成しましたが、うまく保存できません。fopenの基本的な使い方が間違っているのではないかと思っていますが、どこがおかしいのかわからずにおります。 <?php $img = exif_thumbnail("./test.jpg", $width, $height, $type); $handle = fopen ("./thumb.jpg", 'a'); fwrite($handle, $img); ?> ちなみにPHPのバージョンは5.0.3です。 echo($img);でサムネイル画像が取得できていることは確認できております。 要はtest.jpg → $img → thumb.jpgとできればいいのですが。。 どうしたらうまく保存できますでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP
  • 画像をweb用に変換するときの斜め線がぼやけないコツ

    こんにちわ, 今webのデザインをしているのですが,IllustratorやFireworksを使用して,画像をgif化するときにどうしても斜め線がbitmap化によってどうしてもがたがたになってしまいます。 何かうまくできることはないのでしょうか。 たとえば,GOOの http://dir.goo.ne.jp/index.jsp?TAB=dt&MT= の「今週のお勧めカテゴリー」を囲んでいるオレンジの線などは斜め線がはっきり出ているのですが,このようにはっきりと線を出したいのです。 (ちなみに縦横線ははっきり出ています) コツがありましたら,よろしくお願いします。 ちなみにソフトは Adobe IllustratorとMacromediaのFireworksを持っています。 編集(HTML)はMacromediaのDreamweaverをしています。 よろしくお願いします。

  • ループ処理された中でfile_existsによる画像サイズが取得できま

    ループ処理された中でfile_existsによる画像サイズが取得できません。 ループlist関数で変数代入しDisp_Img_Tag_02関数へ引数を渡した場合に引数側へ変数は渡っていることは確認しているのですが、問題解決に至りません。コードの問題指摘と解決方法をアドバイスください。 ログファイル/  1,ばなな,黄色いくだものです,1278105473-01.jpg <?php $logfile = "./db.csv"; //ログデータ $array_log = file($logfile); for($i=0; $i<count($array_log); $i++){ list($code,$text_01,$area_01,$img_01_Filename) = split(",", $array_log[$i]); echo Disp_Img_Tag_02("1278105473-01.jpg")."<br>"; //(1)直接ファイルを指定 echo Disp_Img_Tag_02("$img_01_Filename")."<br>"; //(2)***ここが問題です。 } echo "<br><br>"; $img_01_Filename = "1278105473-01.jpg"; echo Disp_Img_Tag_02("1278105473-01.jpg")."<br>"; //確認用OK echo Disp_Img_Tag_02("$img_01_Filename")."<br>"; //確認用OK function Disp_Img_Tag_02($img_name, $type) { $path = realpath( "." )."/img/"; //アップロード画像パス $up_dir = '/img/'; //画像リンク先パス $w_admin_max = 30; //管理用サイズ $h_admin_max = 30; $w_user_max = 100; //ユーザー用サイズ $h_user_max = 100; $img_tag = ""; if($img_name && file_exists("$path$img_name")){ list($width, $height, $dummy01, $dummy02 ) = getimagesize("$path$img_name"); if($width > $w_admin_max || $height > $h_admin_max){ $w_rate = $w_admin_max / $width; $h_rate = $h_admin_max / $height; ($w_rate < $h_rate) ? $key = $w_rate : $key = $h_rate; $width = (int) $width * $key; $height = (int) $height * $key; $img_tag = $img_tag."<a href=.$up_dir$img_name target=_blank><img src=.$up_dir$img_name width=" . $width . " height=" . $height . " border=0></a>\n"; }else{ $img_tag = $img_tag."<img src=.$up_dir/$img_name border=0>\n"; } $img_tag = $img_tag."<input type=hidden name=fname01 value=\"$img_name\"><input type=checkbox name=fname01_del value=1>削除\n"; $img_tag = $img_tag." 上書:<input type=file name=upfile01 size=15>\n"; }else{ $img_tag = $img_tag."登録 <input type=file name=upfile01 size=20> 確認用ファイル名 $img_name\n"; } return $img_tag; } ?>

    • ベストアンサー
    • PHP
  • ソースをメソッドPOSTで取得すると値に「”」が入ってしまう。

    <form action="test.php" method="post" >で<input type="text" />のなかに<img src="test.gif" />を入力してtest.phpで取得したデータをechoで書き出してみたら<img src=\"test.gif\" />と「\」が「"」の前に入ってしまって画像が表示されないのですが、どうしたらいいのかわからなくて困っています。どなたか教えてください。

    • 締切済み
    • PHP
  • php正規表現 相対パス→絶対パス

    下記のようにhtml内の相対パスの箇所を、 全て絶対パスに置換えるにはどう記述したらよいでしょうか? ご伝授いただけたら幸いです。 <a href="/test/jp/danny.pdf" target="_blank"> <img src="/cmn/img/text.gif">   ↓↓   ↓↓ <a href="http://testsaite.co.jp/test/jp/dammy.pdf" target="_blank"> <img src="http://testsaite.co.jp/cmn/img/text.gif">

    • ベストアンサー
    • PHP
  • cakephp1.2で画像が出力できない!

    お世話になります。cakephp1.2で解決できないことがあります。 それは画像の出力です。 app/webroot/img配下にtest.jpgがある場合、 どのように表記したらビューで出力できるでしょうか? <?php echo $html->image('test.jpg') ; ?> や絶対パス、cake.power.pngなどの出力テスト をいろいろ試しましたが、どうしても解決できません>< どうかみなさま宜しくお願い致します。 暫くプログラマの方と連携がとれないので、 こちらに質問させて頂きました。。。

    • ベストアンサー
    • PHP
  • rubyでハングル含むファイル名を読むと文字化け

    ruby 初心者です 環境は以下の通り Windows7 64bit Ruby 2.3.1 状況 rubyでハングル含むファイル名をリネームしたいのですが、 フォルダ内のファイル名を読み込んでputsで表示すると、ハングル文字が「??」に文字化けして、 又、renameを実行するとエラーになります。 ハングル文字化けBJ??になる Windowsのファイル名 999-BJ쏘이-hkqwer-20211115.mp4 rubyで読み込んだ後、putsで確認するとハングルが文字化けする 999-BJ??-hkqwer-20211115.mp4 質問 ハングル文字の文字化けを直すには、どの様に指定すればよいのでしょうか? また、.renameする際、何か指定があれば、知りたいです。 補足) ちなみに、ファイル名が、英数や漢字・かなを含む場合や、 .rb内でファイル名に直接ハングル文字を指定すると、正常にリネーム出来ています。 変更前:999-BJ쏘이-hkqwer-20211115.mp4 変更後:☆korean 259-BJ쏘이-hkqwer-20211115.mp4 補足) ・renameを実行するとエラー ren2.rb:207:in 'rename': Invalid argument @ rb_file_s_rename - (C:USers/xxxxxx/Desktop/☆korean/999-BJ??-hkqwer-20211115.mp4, C:USers/xxxxxx/Desktop/☆korean/☆korean 259-BJ??-hkqwer-20211115.mp4) (Errno::EINVAL) ren2.rb:207:in `rename': Invalid argument @ rb_file_s_rename - (C:Users/xxxxxx /Desktop/☆korean/999-BJ??-hkqwer-20211115.mp4, C:Users/xxxxxx/Desktop/☆korean/ ☆korean 259-BJ??-hkqwer-20211115.mp4) (Errno::EINVAL) ・.openにエンコード指定するとエラーになる Dir.open("#{tr_path}", "rw:sjis:utf-8") do |dir| ren2.rb:48:in `open': wrong number of arguments (given 2, expected 1) (ArgumentError) ・実行したソース ruby ren2.rb # coding: UTF-8 ms_path = "G:\/G_Download\/G_XVIDEOS\/1優良\/☆korean" # 本番用 tr_path = "C:\Users/xxxxxx/Desktop/☆korean" # テスト用 Dir.open("#{tr_path}") do |dir| # テスト用 for tr_name in dir puts tr_name # # # .と..を読み飛ばす # # if tr_name == "." || tr_name == ".." then next end # # 読み込んだファイル名から抽出した文字s_nameで、本番用フォルダーを検索して、 # あれば「☆korean xxx-」を取得する # # # テスト用文字 # s_name = "hkqwer" # # 保存用フォルダを検索して、類似ファイルが存在したら、☆korean xxx-を取得する # Dir.glob("#{ms_path}/*#{s_name}*.mp4") do |x| if File.basename(x).include?("☆korean ") == true then #☆korean か? ms_num = File.basename(x)[0,12] elsif File.basename(x).include?("☆Korean ") == true then #☆Korean か? ms_num = File.basename(x)[0,12] else next end # # 999-を☆korean xxx-で置き換える # new_name = tr_name.gsub("999-", ms_num) # 999-を☆korean xxx-へ置き換える # # 元ファイルを、新ファイル名に変更する # File.rename("#{tr_path}/#{tr_name}", "#{tr_path}/#{new_name}") end end end

    • ベストアンサー
    • Ruby
  • 正規表現を使った置き換えにおいての質問。置き換えたい文字列が変数だったら。

    こんにちは、 以下のような作業をperlで正規表現の置換を用いて行いたいのですがどのようにすればよいのでしょうか。 ===================================== $iが1-3までの数字をしめしています。 また、 $filename[1]='./gazou1.gif' $filename[2]='./gazou2.gif' $filename[3]='./gazou3.gif' のような配列変数があるとします。 以下のようなテキスト文章を $1$ $2$ $3$ 次のように変換します。 <img src="$filename[1]"> <img src="$filename[2]"> <img src="$filename[3]"> $filename[1-3]には画像のパス名がはいっているので、最終的出力されるときには <img src="gazou1.gif"> <img src="gazou2.gif"> <img src="gazou3.gif"> となるようにしたいです。 このような作業を行う置換操作はどのようにすればいいのでしょうか。 次のようにしてみましたが、できません。 for($i=1;$i<4;$i++){ $main_body=~ s/\$[$i]\$/<img src="$filname[$i]">/g; } ちなみに、これを実行すると <img src="">となり、何も入りません。 置換したい単語が変数だったらできないのでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • Perl