0

私よりも経験豊富な人が、サーバーにファイルをアップロードするための私のphpスクリプトを少し見てみることができるかどうか疑問に思っていました.

次のようにコードでスクリプトを呼び出したときに、イメージをサーバーのルートにアップロードする単純な php スクリプトがありました。

http://server.foo.com/images/uploadToDirectory.php

今、次の呼び出しで最後にフォルダーの名前を付けることができるように修正しようとしています:

 http://server.foo.com/images/uploadToDirectory.php?dir=test_folder

しかし、何らかの理由で、私のイメージはサーバーのルートにしか送信されません。私は自分の c# コードのロジックをチェックしたので、それは私の php スクリプトと関係があるに違いないと思います。誰かがそれを見て、私のコードで何かばかげたことをしているかどうか教えてもらえますか?

    <?
$_SESSION['directory'] = $_POST['directory'];
$uploaddir = './'.$_SESSION['directory'];
$file = basename($_FILES['file']['name']);
$uploadfile = $uploaddir . $file;

print_r($_FILES);

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
        echo "http://server.ip.address/images/{$file}";
}
else
{
    echo "Didn't Work!!!!";
    }

?>

これは、私がやりたいことを実行するのにおそらく本当に悪い方法であることはわかっていますが、それが私が実装した方法です。私の PHP の知識はあまりよくありません。

比較のために、サーバーのルートにロードするコードを次に示します。

    <?
$uploaddir = './';
$file = basename($_FILES['file']['name']);
$uploadfile = $uploaddir . $file;

print_r($_FILES);

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
       echo "http://server.ip.address/images/{$file}";
}
else
{
    echo "Didn't Work!!!!";
}
?>
4

1 に答える 1

0

わかりました..次のようにスクリプトを呼び出すと:

http://server.foo.com/images/uploadToDirectory.php?dir=test_folder

次に、スクリプトは次のようになります。

$uploaddir = './'.$_GET["dir"];

これにより、URL GET 変数「dir」が収集されます。

于 2013-09-04T19:01:25.530 に答える