1

我对 PHP 脚本完全陌生,所以我遇到的这些问题可能会是愚蠢的简单化问题,所以请原谅我。

现在我有代码,我想用它来发送文件以在我的服务器中设置文件夹。

我的代码如下所示:

    <?

$_SESSION['directory'] = $_POST['directory'];
$uploaddir = './'.$_GET["dir"];
$file = basename($_FILES['file']['name']);
$uploadfile = $uploaddir . $file;

print_r($_FILES);

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

?>

我在代码中对此的 URL 调用如下所示:

http://server.foo.com/folder/uploadToDirectory.php?dir=selected_folder

但是,当我运行代码时,文件只会发送到目录的根目录,就像我进行此调用时一样:

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

任何人都可以看到为什么会发生这种情况的原因吗?

之后,如果我想将文件保存在一个目录中,如果我想将它上传到我的服务器的根目录,我需要一个单独的脚本。我将如何将我的两个脚本合并为一个,如果我已经像我展示的那样使用它们,我需要进行哪些调用。

我的其他脚本如下所示:

<?

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

    print_r($_FILES);

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

?>

请注意,我知道这是一种可怕的做事方式。我知道。但这是只有我会使用的代码。没有最终客户会看到这一点。所以,如果你能帮助我提供我提供的代码,我将不胜感激。

4

1 回答 1

0

至少,我认为您需要 and 之间的目录分隔符$uploaddir$uploadfile因此请尝试更改:

$uploadfile = $uploaddir . $file;

$uploadfile = $uploaddir . '/' . $file;

还要确保清理$uploaddir,因为类似的东西../../some_dir可能会让我上传到任意目录。上传带有 .php 扩展名的文件将允许我将 PHP 代码上传到您的服务器并运行它,因此请注意其中的一些问题。

于 2013-09-07T18:12:38.247 回答