2011-02-04 11 views
0

私はリモートサーバから画像を削除しようとしています。ファイルの場所によってサーバーが変わるため、私は直接リンクを使用したくありません。私はこのようなコードを持っています。リモートファイルを削除する@get_file_contentsで - PHP

$photo["server"] = "http://img1.myserver.com"; 
$call = @file_get_contents($photo["server"]."/delete.php?pho_id=".$pho_id."&pag_id=".$pag_id); 

これはうまくいかない理由はありますか?私はvarsを送り、phpファイルでそれらをつかむ。直接のブラウザ呼び出しでうまく動作しますが、スクリプトから実行したいと思います。なぜこのスクリプトが実行されないのでしょうか?私のサーバーではfopenが有効になっています。

+2

エラーメッセージは、あなたのコードに何が間違っているのかを理解するのに役立ちます。なぜなら、 '@'でそれらを抑止していて、なぜ黙って失敗するのだろうと疑問に思うのです。 –

+0

ファイルを削除するための正しいパーミッションがあることを確認してください。 – enam

答えて

2

allow_fopen_urlがオンになっていることを確認する必要があります。

文字列をエコーするとどうなりますか?期待通りですか?

エラーサプレッサー演算子を削除するとどうなりますか(悪い習慣です)?

他のサイトはあなたのものですか?状態変更アクションでPOSTを使用しないのはなぜですか?

クッキーがある可能性があります。 ダイレクトブラウザコールでブラウザが保存したクッキーを確認してください。

+0

はいallow_open__urlがオンです。私はそれをエコーするときに何も起こりません。サプレッサーを削除します。はい、私のサイト。なぜPOSTを使用しないのですか?はい、ダイレクトコールをするとファンドバッグに表示されるクッキーがあります。 –

+0

DNSの問題によりエラーが発生していて、サブドメインのホストを見つけることができませんでした。私はDNSの問題を修正しましたが、それでも何もしません。 DNSが修正されたのでエラーは発生しません。それは何もしません。私はエコーと何もしなかった。それがなぜホスト名の問題ではないということが今のところうまくいかないのかどうかは分かりません。 –

+0

サプレッサーの問題を解決するのに役立ちましたので、私はあなたの答えを受け入れるでしょう、ありがとう。私はまだ問題を抱えていましたが、最終的にそれを考え出しました。 –

関連する問題