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

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

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

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

Q&A

受付中

【PHP】 リンクの取得とダウンロードボタンへの挿入

kenta5150
kenta5150

総合スコア8

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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

1回答

0グッド

0クリップ

205閲覧

投稿2022/11/14 11:32

前提

Wordpressでアップロードとダウンロードが可能なシステムを作っています。
同じページのaタグ内に自動生成するリンクのURLを、
ダウンロードボタンに反映させたいです。

画像の青の網掛けが自動生成されるリンクです。

https://www.cacf.work/game_material/%e3%83%86%e3%82%b9%e3%83%88zip%e3%80%80%e2%80%bb%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e8%87%aa%e4%bd%93%e3%81%af%e3%83%87%e3%83%bc%e3%82%bf%e3%83%99%e3%83%bc%e3%82%b9%e3%81%ab%e4%b8%8a%e3%81%8c/

イメージ説明

実現したいこと

<div class="button_line006"> <a href="<?php echo "ここにURLを埋め込みたい"; ?>" target="_blank">ダウンロード</a> </div>

補足情報(FW/ツールのバージョンなど)

WordpressとPHPは常に最新です。
生成元のページのコードが必要であればお伝えすることは可能です。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/11/14 12:23

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

yambejp

2022/11/14 12:48

質問の意味があいまいでどういうデータからどういう結果を導きたいのかわかりかねます
CHERRY

2022/11/14 13:46

どこまでできていて、どこができていないのかを 明確にして具体的に記載していただけないでしょうか。 ダウンロードURLの自動生成ができているのであれば、その URL をそのまま記載すれば良いと思いますが 何が問題になっているのでしょうか。
kenta5150

2022/11/15 10:36

@yambejp @CHERRY ご質問ありがとうございます。 自動生成され、URLがその都度変わるのでパスの指定では解決できません。 個人ページにそれぞれアップロードされるファイルがある為、URLは都度違います。 →こちらが自動生成とお伝えしている部分。 ダウンロードボタンに上記の都度違うURLを読み込めるようにしたいのです。 まだご質問を頂くかと思いますが、お付き合いお願いいたします。
CHERRY

2022/11/15 10:47 編集

どのようにアップロードしているのかわかりませんから、そのアップロード URL を自動で埋め込みたいと言われても 回答が難しいと思います。 現在どのようにしているのかを 記載していただけないでしょうか。
kenta5150

2022/11/15 10:53

@CHERRY ご質問ありがとうございます。 どの様にアップロードとは何を回答すればよいのでしょうか。 サーバーに直接アップロードされているのか、Wordpressのサーバーにと言う意味でしょうか。 ご回答いただけますと幸いです。
CHERRY

2022/11/15 12:35

URLが自動的に生成されるということは、アップロードするプログラムか何かが動いているのではないのでしょうか?
kenta5150

2022/11/15 14:39 編集

@CHERRY ご質問ありがとうございます。 説明が不足しておりましたので追加でご説明させて頂きます。 ユーザーがZIP、MP3、画像ファイルなどをアップロードします。 →このファイルはWordpress経由でアップロードし、データベースに保存されます。 →その後URLに随時変換され、アップロードごとに当然URLは変更されます。 先にお伝えしておりますが、アップロードのプログラムは動いております。 そちらのコードも開示可能です。 丸投げの通報を頂いておりますが、可能であれば今一度元の相談を良くご覧頂けると幸いです。 ご親切に相談に乗って頂き感謝いたします。
CHERRY

2022/11/16 11:45

> 丸投げの通報を頂いておりますが、可能であれば今一度元の相談を良くご覧頂けると幸いです。 個人的に丸投げ評価はしていませんが... 質問の内容だけでは、情報が不足しており適切な回答は難しいので、丸投げと感じる人も多いのかもしれません。
kenta5150

2022/11/17 16:05 編集

@CHERRY ご回答ありがとうございます。 失礼な発言があり申し訳ございませんでした。 確かに私の表現はおかしいですね。 ユーザーのアップロードはデフォルトのメディアファイルではなく、 uploadフォルダにネストされUPされます。 upload/yy/mmの様な構造です。 こちらの情報が不足しており申し訳ないのですが、 wp_get_attachment_urlの場合、 引数に固定のURIを指定することになりそうな為試しておりませんが、 一度調べて試してみます。 ご回答ありがとうございます。
CHERRY

2022/11/17 22:04

> ユーザーのアップロードはデフォルトのメディアファイルではなく、 > uploadフォルダにネストされUPされます。 > upload/yy/mmの様な構造です。 これだけでは、メディアのアップロードディレクトリを「デフォルト( wp-content/uploads/ )から変更してアップロードした」のか 「メディアのアップロード機能を利用して、ファイルを移動した」のか「独自にアップロード機能を作成した」のかわからないです。 具体的なアップロード方法とファイルの保存方法のコードがわからないと判断はできませんね。
kenta5150

2022/11/27 08:30

ご回答ありがとうございます。 メディアのアップロードディレクトリはデフォルト( wp-content/uploads/ )です。 独自にアップロード機能を作成したものを使用しています。 function tcd_membership_blog_build_content( $arr ) { $post_content = ''; $arr = (array) $arr; for ( $i = 0; $i < 10; $i++ ) { $si = 0 < $i ? $i : ''; if ( ! empty( $arr['headline' . $si] ) ) { $post_content .= '<h2 class="headline">' . esc_html( $arr['headline' . $si] ) . '</h2>' . "\n"; } if ( ! empty( $arr['description' . $si] ) ) { $post_content .= "\n" . esc_html( $arr['description' . $si] ) . "\n\n"; } if ( ! empty( $arr['image' . $si] ) ) { $post_content .= '<p class="align1"><img src="' . esc_attr( $arr['image' . $si] ) . '" alt=""></p>' . "\n"; } } return trim( $post_content ); } ここでのimg srcの部分をダウンロードURLとして使用したいです。

回答1

0

とりあえず、

→このファイルはWordpress経由でアップロードし、データベースに保存されます。
→その後URLに随時変換され、アップロードごとに当然URLは変更されます。

WordPress には、データベースにファイルをそのまま保存する機能はないと思うので「データベースに保存と言われる動作」がよくわかりませんが、メディアに保存することをデータベースに保存と言っているのであれば、メディアのファイルの URL は、wp_get_attachment_url で取得できないでしょうか。

投稿2022/11/16 11:46

編集2022/11/16 11:47
CHERRY

総合スコア24706

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

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