画像の URL があるとします。
http://website.com/content/image.png
その画像を取得して自分のサーバーに配置したいのですが、場所をデータベースに保存できるように、事前に名前を変更したいと考えています。
次のコードを使用しています。
$url = 'http://website.com/content/image.png';
/* Extract the filename */
$filename = substr($url, strrpos($url, '/') + 1);
/* Save file wherever you want */
file_put_contents('upload/'.$filename, file_get_contents($url));
ファイルの名前をまったく新しいものに変更したいが、拡張子はそのままにしておく場合、どうすればそれを達成できますか? URLにさらにコンテンツがある場合、これは機能しますか?
たとえば、次の代わりに: url here/content/image.png 次のようになります: url here/content/stuff/images/image.png
私は基本的に、画像への URL を受け取り、それをサーバーにアップロードし、その画像の名前を必要な名前に変更しながら、拡張子をそのまま維持するユニバーサル関数を作成しようとしています。