私はMakeAvatar.php
という名前のスクリプトを持っています。そして、私は(GETメソッドなど)それに引数を渡すとき、それはその引数に基づいて画像(アバター)を行う:ルートディレクトリの外で別のスクリプトを実行するにはどうすればよいですか?
http://example.com/MakeAvatar.php?id=12345
// Output: 1234.jpg
と私は単純に、このようにその画像を保存することができます:
file_put_contents("../img/avatar/".$id.".jpg", file_get_contents("http://localhost/MakeAvatar.php?id=$id"));
\out
\MakeAvatar.php
\root
\include
\register.php
\img
\avatar
そして私はを開くことができません。
は今、そのスクリプト(MakeAvatar.php
)は、ルートディレクトリの外にあります0をhttpリクエストとしてregister.php
に追加します。私はこのパスでアクセスできます:
$_GET['id'] = $id; // passing
file_put_contents("../img/avatar/".$id.".jpg", file_get_contents("../out/MakeAvatar.php"));
しかし、上記のコードは機能しません。 file_get_contents()
はそのスクリプトを開くだけなので、実行しないでください。その後、出力は不明画像になります:私は編集者がその画像を開くと
はまた、MakeAvatar.php
(そのすべてのコード)の内容を含むされます。したがって、問題はがになります。
どうすればそのファイルを実行できますか?
. . . file_get_contents("how can I execute MakeAvatar.php in here ?")
注:私はMakeAvatar.php
の内容を変更することはできません。また、私はそのディレクトリを変更することはできません(私はそれを根に入れることはできません)。
あなたは単に 'include' /' require'を必要としていませんか? –
@JonStirlingそれを 'include()'できますが、なぜですか?私はそれを実行する必要があります。私がそれを実行するとき(そしてそれに引数を渡すとき)、出力はイメージになり、私はそのイメージを保存します。しかし、私が 'include()'するだけであれば、イメージはありません。 – stack
ファイル自体をスクリプトにするのではなく、ルートディレクトリ以外のファイルに関数を保持させ、ファイルをインクルードして関数を呼び出します。あるいは、スクリプトを見せて、あなたの構造をどのように補うかを見ることができます。 – Matt