Php上传文件到服务器目录脚本

Php上传文件到服务器目录脚本,php,Php,我想知道是否有比我更有经验的人可以花一点时间看看我上传文件到服务器的php脚本 我有一个简单的php脚本,当我在代码中调用该脚本时,它将我的图像上载到服务器的根目录,如下所示: http://server.foo.com/images/uploadToDirectory.php 现在我正试图修改它,以便我可以通过以下调用将文件夹的名称放在末尾: http://server.foo.com/images/uploadToDirectory.php?dir=test_folder 但是由于某些

我想知道是否有比我更有经验的人可以花一点时间看看我上传文件到服务器的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!!!!";
    }

?>

好的,那么。。如果您这样调用脚本:

http://server.foo.com/images/uploadToDirectory.php?dir=test_folder
那么您的脚本应该是:

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

这将收集URL GET变量“dir”。

如果正在使用会话,请记住执行会话_start();idk如果这是您的整个脚本,但我看到了单词session。
$\u POST['directory']
$\u POST['dir']
?$\u POST['dir']。但我必须告诉你们,是的,这是一个可怕的方式来做它,并期待得到shell脚本在任何时候,如果不是更糟。有人会花整整2分钟的时间来接管您的服务器。$uploaddir='./'.$\u会话['directory'];因此,目录数组变量中没有字符串。因此,可能是您的$_POST['directory']为空。您是否正确地将表单输入命名为目录?检查值,然后检查其$_GET[“dir”]请阅读以下内容:
$uploaddir = './'.$_GET["dir"];