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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

3350閲覧

Warning : unlink(): http does not allow unlinking in

rms398

総合スコア50

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/05/22 04:46

###前提・実現したいこと
html javascript phpでチェックされた画像を削除する機能を作っています
phpのunlinkで
http://localhost/jk3/kodomonojikan/img/201705050001.jpg
これを絶対パスとして削除しようとしたら下記のようなエラーがでました。
なんのエラーかわからないため調べてみたんですけどすべて英語や中国語のサイトが出てきて
エラーを対処する術がないです。

エラーの意味と対処法を教えてください

###発生している問題・エラーメッセージ

Warning : unlink(): http does not allow unlinking in C:\xampp\htdocs\jk3\kodomonojikan\FileManager.php on line 36

###該当のソースコード

php

1<?php 2 require_once(dirname(__FILE__)."/DBManager.php"); 3 require_once(dirname(__FILE__)."/photos_tagsTblDT.php"); 4 require_once(dirname(__FILE__)."/movies_tagsTblDT.php"); 5 session_start(); 6 7 //$DBManager = new DBManager(); 8 function get_photo_new($nursery_school_id,$limit_num){ 9 10 } 11 function get_photo_tag($tag_id){ 12 13 } 14 //画像と最初のタグを登録する機能 15 function insert_photo($photo_name,$nursery_school_id,$photo_date,$photo_path,$photo_tag){ 16 $DBManager = new DBManager(); 17 //データベースに画像を登録する機能 18 $DBManager->photo_insert($photo_name,$photo_date,$photo_path); 19 //先ほど登録した画像のidを取得する機能 20 $photo_id = $DBManager->photo_id_get($photo_path); 21 //画像とタグを紐付ける機能 22 $DBManager->photo_tag_insert($photo_id,$photo_tag); 23 } 24 function update_photo($photo_id,$photo_name,$photo_date){ 25 26 } 27 //画像を削除する機能 28 function delete_photo($photo_path){ 29 $DBManager = new DBManager(); 30 //画像のidを取得する機能 31 $photo_id = $DBManager->photo_id_get($photo_path); 32 //画像をデータベースから削除する機能 33 $DBManager->photo_delete($photo_id); 34 //画像についているタグを全て削除する機能 35 $DBManager->photo_tag_delete($photo_id); 36 //実際にある画像を削除する 37 unlink($photo_path);//エラーが起きているところ 38 } 39 function get_movie_new($nursery_school_id,$limit_num){ 40 41 } 42 function get_movie_tag($tag_id){ 43 44 } 45 //動画と最初のタグを登録する機能 46 function insert_movie($movie_name,$nursery_school_id,$movie_date,$movie_path,$movie_tag){ 47 $DBManager = new DBManager(); 48 //動画を登録する機能 49 $DBManager->movie_insert($movie_name,$nursery_school_id,$movie_date,$movie_path); 50 //先ほど登録した動画のidを取得する機能 51 $movie_id = $DBManager->movie_id_get($movie_path); 52 //動画とタグを紐付ける機能 53 $DBManager->movie_tag_insert($movie_id,$movie_tag); 54 } 55 function update_movie($movie_name,$movie_date,$movie_path){ 56 57 } 58 function update_movie_URL($movie_id){ 59 60 } 61 //動画を削除する機能 62 function delete_movie($movie_id){ 63 $DBManager = new DBManager(); 64 //動画をデータベースから削除する機能 65 $DBMnager->movie_delete($movie_id); 66 //動画についているタグを全て削除する機能 67 $DBManager->movie_tag_delete($movie_id); 68 //動画のパスを取得する機能 69 $dir = $DBManager->movie_select($movie_id); 70 //実際にある動画を削除する 71 unlink($dir); 72 }

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

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

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

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

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

guest

回答3

0

unlinkのファイルパスはあくまでファイルの実態へのパスであるべきです。
http://~では基本的にファイルの実態は示せません。

投稿2017/05/22 04:59

m.ts10806

総合スコア80850

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

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

0

ベストアンサー

unlinkを使うのであれば、絶対パスではなく、相対パスで指定しましょう。
もし、他のサーバのファイルを消したいのであれば下記のサイトが参考になるのではないでしょうか?
参考サイト

投稿2017/05/22 04:54

motuo

総合スコア3027

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

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

rms398

2017/05/22 05:35

ありがとうございます。 今後は相対パスでunlink()を使おうと思います
guest

0

書いてあるとおりで、おそらくdelete_photoの引数にhttp://で始まるURLが渡されている結果、削除ができないものと思われます。

第三者のサーバであれば当然削除できませんし、自分のサーバだった場合には適宜URLをパスに変換する必要があります。

投稿2017/05/22 04:54

maisumakun

総合スコア145183

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問