ベストアンサー PHPで画像コピー 2024/09/21 08:28 フォルダ ABC にアップロードされた .jpg を DEF フォルダにコピーしたいです。 PHPでABCを調べて .jpg が有ったら DEF に全てコピーする。無かったら 何もしない 何とぞ ご教授下さい。 みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー redslove10 ベストアンサー率41% (411/997) 2024/09/21 08:47 回答No.1 <?php // コピー元ディレクトリとコピー先ディレクトリのパスを設定 $sourceDir = 'ABC'; // コピー元 $destinationDir = 'DEF'; // コピー先 // ディレクトリが存在するか確認 if (!is_dir($sourceDir)) { die("Error: コピー元ディレクトリが存在しません\n"); } if (!is_dir($destinationDir)) { die("Error: コピー先ディレクトリが存在しません\n"); } // ディレクトリ内のjpgファイルを取得 $files = glob($sourceDir . '/*.jpg'); if (empty($files)) { echo "jpgファイルが見つかりませんでした\n"; } else { foreach ($files as $file) { // コピー先のパスを設定 $destinationPath = $destinationDir . '/' . basename($file); // ファイルをコピー if (copy($file, $destinationPath)) { echo basename($file) . " を " . $destinationDir . " にコピーしました\n"; } else { echo basename($file) . " のコピーに失敗しました\n"; } } } ?> 質問者 お礼 2024/09/21 11:36 ありがとうございました。 コピー元デレクトリ名を日付にする件は、先の回答を参考に出来ましたのでご報告致します。 お手数多謝です。 /' . date('Ymd', strtotime('0 days ago')) . ' Powered by GRATICA 質問者 補足 2024/09/21 10:28 早速のアドバイスありがとうございます。 書き忘れました。すいません コピー元ディレクトリに本日の日付( Ymd )が入ってます。 ほんじつなので /abcd/20240921/images なのです 申し訳ございません Ymd をファイル名にする も ご教授下さい。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発PHP 関連するQ&A dosでサイズを比較して異なるファイルだけコピー dosで全フォルダ内のファイルサイズを比較して異なるファイルだけコピーしたい 次のようなファイル構成で AAAフィルダ BBBフォルダ cccフォルダ cccフォルダ abc.txt abc.txt def.jpg def.jpg dddフォルダ dddフォルダ ghi.txt ghi.txt jkl.jpg jkl.jpg AAA\ccc\abc.txtとBBB\ccc\abc.txt AAA\ccc\def.jpgとBBB\ccc\def.jpg AAA\ddd\ghi.txtとBBB\ddd\ghi.txt AAA\ddd\jkl.jpgとBBB\ddd\jkl.jpg 拡張子は問わずそれぞれに対するファイルのファイルサイズを比較して 大きくても小さくても異なるファイルだけbbbフォルダ内に上書きコピー したくご教授をお願いします PHPで画像コピーについて 今、PHPで画像をアップロードして、 アップロードされた画像を表示するようなスクリプトを書いています。 流れとしては、管理画面があり、 そこで様々な情報と共に画像をアップロードします。 本サイト側で、ユーザがアクセスして来た際、 そのアップロードされた画像を表示する訳なのですが、 本サイトと管理画面は同一サーバ内にありますが、権限等の関係で、 本サイト側で画像を表示する際、 管理画面でアップした画像を直接参照することができません。 管理画面側でアップした画像を本サイト側から参照可能なディレクトリにコピーする必要があります。 例えば、30分に1回程度の頻度でrootで上記のコピーを実行するような PHPスクリプトを実行すればいいのかなと考えております。 ただ、毎回すべての画像をコピーしていると画像の数が多くなってきた場合、 処理に時間がかかってしまう等の問題があるかと思いますので、 画像の更新日付を参照して、 前回実行より後にアップされた画像のみをコピーの対象とするようにしようと考えております。 こういった場合の良い方法等ありましたら、 アドバイスいただけますと幸いです。 よろしくお願いします。 環境は、以下の通りです。 CentOS5 PHP5.0 バッチファイルでファイルを比較後他のフォルダにコピ 次のようなファイル構成で C:\AAA C:\BBB \ccc \ccc abc.txt abc.txt def.jpg def.jpg \ddd \ddd ghi.txt ghi.txt jkl.jpg jkl.jpg C:AAA\ccc\abc.txt と C:BBB\ccc\abc.txt を比較 C:AAA\ccc\def.jpg と C:BBB\ccc\def.jpg を比較 C:AAA\ddd\ghi.txt と C:BBB\ddd\ghi.txt を比較 C:AAA\ddd\jkl.jpg と C:BBB\ddd\jkl.jpg を比較 全てのファイルに対し比較後C:\CCC(別のフォルダ)に階層を含めコピーしたく for /R %%A in ("C:\AAA") do for /R %%B in ("C:\BBB") do if %%~zA NEQ %%~zB (goto A) :A echo NEQ としましたがループしてしまいました 比較後C:\CCC(別のフォルダ)に階層を含めコピーする方法も含め ご教授をい願いします ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム OpenOffice.org Basicでファイル自体をコピーして貼り付け OpenOffice.org Basicでファイル自体をコピーして他の場所にリネイムして貼り付けたいのですが、色々調べているんですが、セルやシートのコピーばかり出てくるだけで、どうもわかりません。 例えば、Cドライブの直下にある「abc.jpg」をコピーしてC:\testに「def.jpg」にリネイムして貼り付けたいんです。 コピーして別の場所に貼り付けるだけでもいいんですけど・・・どなたかお分かりの方教えてください。 PHPでアップロードした画像が表示されません 現在、Redhat9+Apache+PHP+PostgreSQLでサイトを構築しています。 PHPはRPMでインストールしました。 php-4.2.2-17.2.i386.rpm PHPでアップロードのフォームを作成し、jpegやgifなどの画像ファイルをアップロードし、表示するパスをDB(PostgreSQL)で管理しています。 画像は/tmp/ に一度アップされ、指定のパスに正常にコピーされているようなのですが、実際、ブラウザで見ると×印がでて表示されません。 アップロードされた画像をダウンロードして、画像処理ソフトなどで開いてみたのですが、表示されません。 アップロードの際に画像ファイルが壊れてしまったように思えます。 どなたか、解決方法等をご存知の方がいらっしゃいましたらご教授願えないでしょうか? よろしくお願いいたします。 HPビルダーでFC2にアップロードした画像について たくさんググりましたが分からないので質問させてください。 HPビルダー7でFC2にサイトをアップロードしたんですが、 画像が×となって表示されません。 サイト内のhtmlファイルのリンクは大丈夫です。 FC2のファイルマネージャーを見ると、 Rootディレクトリには複数のhtmlファイルしかありません。 もちろんindex.htmlファイルはあります。 アップロードは、 HPビルダー7のサイト転送(転送先フォルダは空白です)で行いました。 HPビルダー7のサイト素材ビューのフォルダのところでは、 ▷サイト名 ▷トップフォルダ(abc.htmlファイル、def.htmlファイル、2枚の画像ファイル) ▷abc.htmlファイルの素材(画像)フォルダ(ここには画像ファイルのみ) ▷def.htmlファイルの素材(画像)フォルダ(ここには画像ファイルのみ) となっています。 最初のサイト作成、ローカルフォルダ設定のところがまずかったんでしょうか? それとも各ファイル(abc.htmlなど)ごとにそれぞれ画像フォルダを つくったのがまずいのか… どうぞアドバイスをよろしくお願いします。 phpにてファイルをアップロード。 皆様はじめまして。 phpでファイル[jpg画像]をアップロードできるようなブラウザーを作りたいのですが、検索でいろいろ探してはみたのですが、php初心者なのでいまいちよく分かっていません。 いくつかのページを参考にし、とりあえず参照→送信[アップ]できるようなブラウザーまではできたのですが、その先がうまくいきません。 サーバー上のにあるフォルダに画像をアップロードしたいのですが、上にも書いたようにphp初心者なので分からない部分が多くあります。 一連の流れが初心者でも分かるページなどありましたら教えていただけないでしょうか? よろしくお願いします。 フォルダに入っているファイルの取得 フォルダ/abcに入っている、JPGの画像のファイルを配列@defに取得するコードをお願いします。 .htaccessで、指定したフォルダへのアクセスを全て転送したい http://www.abc.com/ というページがあったとします そしてdefというフォルダがあったとします http://www.abc.com/def/ このdef以下のページにアクセスされた場合 全てをhttp://www.abc.com/に飛ばすには .htaccessにどう記述すれば良いのでしょうか? よろしくお願いします PHP 配列について PHPで簡単なプログラムを作っています。 上手い方法があれば教えてください。 例えば $arr = array(); $arr(0) = "ABC"; $arr(1) = "DEF"; $arr(2) = "GHI"; $arr(3) = "JKL"; $arr(4) = "MNO"; この様な配列があり、これを以下の様に「特定のデータを削除し空いているキーを詰めたい」場合どうしたら良いのでしょうか? この場合は"DEF"を削除。 $arr(0) = "ABC"; $arr(1) = "GHI"; $arr(2) = "JKL"; $arr(3) = "MNO"; アドバイスお願いします。 phpの正規表現 phpの正規表現で困っています。 下記のような文で括弧で囲まれた文字列だけを消したいのですが、 (ABC)あいうえお(DEF) /(.*)/で置換すると文章が全部消えてしまいます。 「あいうえお」だけを残したいのですがうまくいきません。何方か教えてください。お願いします! サーバー上のファイルコピー PHP4で画像をサーバにアップロードするプログラムを作っているのですが、 画像をアップロードするところまではできたのですが、 その画像を、同じサーバ上の別のディレクトリにコピーしたいのですが、いい方法はあるでしょうか。 形としては、a,b,cというディレクトリがあり、a,b,cそれぞれのディレクトリにtest.jpgという同一の画像をアップしようとしています。 とりあえず、aディレクトリには、画像をアップロードできていて、あとは、b,cにその画像をコピーする形にしようと考えています。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム PHPで、フォルダーにあるファイルを配列に取り込みたい 例えば次の様なフォルダーとファイルがあるとき \abc\a.txt \abc\b.doc \abc\def\b.doc \abc\ghi\a.txt \abc\ghi\b.doc 次の様な結果を得たいのですが、どうすれば良いでしょうか? $dir[/abc/a.txt] = "/abc/a.txt" $dir[/abc/b.doc] = "/abc/b.doc" $dir[/abc/def/b.doc] = "/abc/def/b.doc" $dir[/abc/ghi/a.txt] = "/abc/ghi/a.txt" $dir[/abc/ghi/b.doc] = "/abc/ghi/b.doc" 再帰関数でできそうに思うのですが、いくら考えても分かりません。 $path = "\abc"; function getfiles($path) {} print_r(getfiles($path)); みたいにして取り出せると助かります。 すみませんが教えてください。 jsp&サーブレットにてjpgやzip等のファイルを別フォルダにコピー&貼り付けの処理 現在jsp、サーブレット、ビーンにて 画像ファイルやzipファイルなどをアップロードできるサイトを作成していまして、アップロードについては jakartaのfileuploadで特定のフォルダにアップロードする処理は上手くいったのですが、 アップロードしたファイルを、別のフォルダにコピー&貼り付けさせるような処理を行いたいと思っています。 java.ioについて調べてみると txtファイルの中身を読み込んだり書き込んだりする 処理しか見つける事ができず、つまずいております。 どなたかjpgやzip等を別フォルダへの 解説をしているサイトをご存知でしたら 教えていただけますでしょうか。 もしくはあのクラスを利用すれば出来る等でも 結構ですので、すみませんがご教授よろしくお願いします 候補画像から選択して画像をアップロード 通常、画像のアップロードは <form action="upload.php" method="post" enctype="multipart/form-data"> <p> 画像をアップロードする<br> <input type="file" name="pic"> </p> <p> <input type="hidden" name="code" value="<?php echo $code ?>"> <input type="submit" name="submit" value="アップロード"> </p> </form> というフォームを使っています。 ↓ ★画像アップロードフォーム http://pips.chu.jp/0/up/upload.php これで、「参照」を押すと、ローカルのフォルダから画像を選べますが、 あらかじめ作成した画像の候補の中から1つ選んでアップロードするにはどうすればよいでしょうか。 画像の候補は、「img」というフォルダを作り、その中に格納しています。 ↓ ★候補画像 http://pips.chu.jp/0/up/img/sample1.jpg http://pips.chu.jp/0/up/img/sample2.jpg http://pips.chu.jp/0/up/img/sample3.jpg 「参照」のボタンを押すと、「img」フォルダに行く方法が知りたいです。 また、ラジオボタンやセレクトボタンを使った方法があれば教えて頂けないでしょうか。 何卒よろしくお願いします。 phpでの画像出力 フォームでアップロードした画像(jpg)を、base64でエンコードしてテキストとしてDBに格納しています。 そのデータをDBから取り出して、PHPで出力したいのですが、上手く行きません。 下記のような手順で試しましたが、ダメでした。 ※php5とMySQLです。 $img = base64_decode("※DBから取り出したテキスト"); header("Content-type: image/jpeg"); echo $img; 尚、下記のような形では画像表示出来ましたが、出来ればphpからの出力をしたいと考えています。 <img src="data:image/jpeg;base64,※DBから取り出したテキスト" /> php初心者ですが、よろしくお願い致します。 【PHP+ImageMagick】画像アップロード 【PHP+ImageMagick】現在、PHP Version 5.1.6にて以下の事をしようとしています。 1画像のUPLOAD(move_uploaded_file関数) 2UPLOADした画像のサムネイル作成(ImageMagickのconvertコマンド) 「手順START」 ・00003.JPGをアップロード ・00003.JPGのサムネイル作成失敗。 ・サムネイル作成部のみを抽出したスクリプトにて00003.JPGに対してサムネイル作成を実行 ・サムネイル作成失敗 ・cp -p 00003.JPG 000033.JPG とし000033.JPGを作成 ・権限等を00003.JPGと同じ物とし修正。 ・サムネイル作成部のみを抽出したスクリプトにて000033.JPGに対してサムネイル作成を実行 ・サムネイル作成成功 「手順END」 convertコマンドにて標準出力に吐き出されたログを見ると、画像ファイルに対して「Permission denied」と出力されていました。 ちなみに、コマンドベースでのphp実行は問題なく処理されます。今回の現象はWebブラウザからのアクセス時のみに発生しています。 php.iniのセーフモードはOFFになっています。 この現象について、わかる方がいらっしゃいましたら教えて頂けないでしょうか?よろしくお願いします。 phpでmysqlから画像パスを出力する phpを勉強始めたばかりで、データベースを使う必要がでてきたため、初心者サイトを 読んでいるのですが、一点質問があります。 行いたい事は、データベースに保存した画像パスをphpで出力するだけなのですが、パスが 文字列として扱われてしまっています。画像を出力するにはどうすれば良いでしょうか? 例えば以下のようなphpプログラムで、nameには画像パスである 「abc.jpg」という文字が 入っていたとすると以下ではそのままabc.jpgという文字列が出力されてしまします・・・。 <?php $pdo = new PDO("mysql:dbname=aaa", "root"); $pdo->query("set names utf8;"); $st = $pdo->query("SELECT * FROM bbb"); while ($row = $st->fetch()) { $name = htmlspecialchars($row['name']); echo '<img src="$name">'; } ?> httpコードPHPにつきまして PHPを未勉強で恐縮ですが、お教えください 下のhttpコードはWebページ画面の画像を右クリックし、プロパティの記述をコピーしたコードです。 このコードをGoogle-IE画面のhttp欄にコピーして実行しますと ファイルのダウンロードの小画面が表示されます。 http://www.camelliaweb.com/photopost/watermark.php?file=1371 ダウンロードするとこの場合は "Amarie.jpg"が得られます。 通常では、Webページ画面の画像を右クリックし、プロパティの記述をコピーすると、下のようなコードが得られます。この場合には Google-IE画面のhttp欄にコピーして実行しますと IE画面に直ちに画像が表示されます。 http://www.camellias-acs.com/assets/large/Hulyns%20Sweet%20Emily.jpg PHPでは初歩的なことかもしれませんが、 http://www.camelliaweb.com/photopost/watermark.php?file=1371 このコードから、"Amarie.jpg"の元の格納フォルダーのパスは得られるのでしょうか。 お教えください Windows2000 サーバー設定できないphp Windows2000 サーバーで phpによるファイルのアップロードが出来ません。 (failed to open stream) 自宅でWindows2000サーバーを立てました。 他PCからFTPによるファイルのアップロードは行えるのですが、 他PCからのPHPによる実行が行えません。 現在、ファイルのアップロードを行ってみたところ、 以下のエラーが発生します。 Warning: move_uploaded_file(files/dscn6906.JPG) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\Program Files\VertrigoServ\www\test\upload.php on line 10 form文、php文は正しいです。 IISマネージャーで既存のFTPサイトによる設定でフォルダ内のファイル名変更・実行等は全てチェックしています。 どうすれば、アップロード可能になるのでしょうか? 宜しくお願いします。 注目のQ&A 私はとてつもなく運が悪いです。 外付けHDD「このフォルダーは空です」 中3 夢に向かって努力をしたい 自分を変えたい 出会い系で知り合った人妻について 一方的に親友に縁を切られました LIFEBOOK A577/P A746 飲み薬 タイヤ比較検討 パソコンのスペック 突然、知らない親族の未払金支払い通知が届きました カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム マッチングアプリは顔写真が重要!容姿に自信がなくても出会いを見つけるには 美容男子ミドル世代の悩み解決?休日ファッション・爪・目元ケア プラモデル塗装のコツとは?初心者向けガイド 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
補足
早速のアドバイスありがとうございます。 書き忘れました。すいません コピー元ディレクトリに本日の日付( Ymd )が入ってます。 ほんじつなので /abcd/20240921/images なのです 申し訳ございません Ymd をファイル名にする も ご教授下さい。