teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/03/08 06:05

投稿

kyoya0819
kyoya0819

スコア10434

answer CHANGED
@@ -1,1 +1,46 @@
1
- 色々方法は考えられますが、確実なのはAjaxでPHPにデータを渡してリンク先のファイルの判別をすることではないでしょうか?
1
+ 色々方法は考えられますが、確実なのはAjaxでPHPにデータを渡してリンク先のファイルの判別をすることではないでしょうか?
2
+
3
+ ### 書いてみたけど実際には使わないでください。
4
+
5
+ あくまでも、こんな感じの処理かな。というふうに書いてます。
6
+ ```HTML
7
+
8
+ <!DOCTYPE html>
9
+ <meta charset=UTF-8>
10
+ <input type=text id=url name=url>
11
+ <button id=ajax>検証</button>
12
+ <div id=result></div>
13
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
14
+ <script>
15
+ $(function(){
16
+ $('#ajax').on('click',function(){
17
+ $.ajax({
18
+ url:'', //PHPのファイル名を入れてください
19
+ type:'POST',
20
+ data:{
21
+ 'url':$('#url').val(),
22
+ }
23
+ }).done( (data) => {
24
+ $('#result').html(data);
25
+ console.log(data);
26
+ }).fail( (data) => {
27
+ alert('ERROR!');
28
+ });
29
+ });
30
+ });
31
+ </script>
32
+
33
+ ```
34
+ ```PHP
35
+
36
+ <?php
37
+ if($_POST['url']){
38
+ $response = get_headers($_POST['url'], 1);
39
+ if(strpos($response["Content-Type"],'image') !== false){
40
+ echo '<img src=',$_POST['url'],'>';
41
+ }else{
42
+ echo '<a href=',$_POST['url'],'>サイト</a>';;
43
+ }
44
+ }
45
+
46
+ ```