質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

4回答

260閲覧

PHPで複数の画像を更新させる際に

kanaryuu

総合スコア12

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2019/05/10 02:47

前提・実現したいこと

特定の画像フォルダにimg1.png,img2.png,img3.pngというファイルがあったとして
別のフォルダにアップされた画像を、例えばimg1.pngにアップロードする際に
下記コードでは2,3.pngが空の状態で上書きされてしまうのですが
更新対象の画像以外はそのままでキープさせたいです。
よろしくお願いします。

該当のソースコード

php

1<?php 2$url1 = "対象ファイル1.png"; 3$url2 = "対象ファイル2.png"; 4$url3 = "対象ファイル3.png"; 5 6$img1 = file_get_contents($url1); 7$img2 = file_get_contents($url2); 8$img3 = file_get_contents($url3); 9 10$imginfo1 = pathinfo($url1); 11$imginfo2 = pathinfo($url2); 12$imginfo3 = pathinfo($url3); 13 14$img-name1 = $imginfo1['basename']; 15$img-name2 = $imginfo2['basename']; 16$img-name3 = $imginfo3['basename']; 17 18file_put_contents('./img/' . $img-name1, $img1); 19file_put_contents('./img/' . $img-name2, $img2); 20file_put_contents('./img/' . $img-name3, $img3);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

投稿2019/05/10 03:35

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

更新対象の画像以外はそのままでキープさせたいです。

これそのまま実装すれば良いと思います。
ただ、現在提示の情報だけだと「別フォルダにアップされた画像」がfile_put_contents()後にどうする仕様で作られているのかわかりません。
残るのか削除するのか。
残るのであればファイルの更新日時などを見て比較するような作りも可能ですし、
削除されるのであれば存在チェックによって分岐させれば良いです。

投稿2019/05/10 02:57

m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ファイルの有無で条件分岐を実施し、必要箇所だけ更新すればよいです。

投稿2019/05/10 02:50

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

md5かsha1でファイルのハッシュが取れるかと思いますので
更新前ファイルと差があったら上書き、なければそのままという風に処理を振り分けると良いと思います

投稿2019/05/10 02:50

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/05/10 02:58

中身の話をしてないので、ハッシュ取る意味ないと思いますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問