我是PHP脚本的新手,所以我的这些问题可能是愚蠢的过于简单,所以请原谅我。
现在我有代码,我想用它来发送文件到我服务器中的set文件夹。
我的代码如下所示:
<?
$_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!!!!";
}
&GT;
我的代码中的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!!!!";
}
?>
请注意,我知道这是一种可怕的做事方式。我知道。但这是我将要使用的代码。没有终端客户会看到这一点。所以,如果你能帮助我提供的代码,我将非常感激。
答案 0 :(得分:0)
至少,我认为您需要$uploaddir
和$uploadfile
之间的目录分隔符,所以请尝试更改:
$uploadfile = $uploaddir . $file;
到
$uploadfile = $uploaddir . '/' . $file;
还要确保清理$uploaddir
,因为../../some_dir
之类的内容可能会让我上传到任意目录。上传扩展名为.php的文件可以让我将PHP代码上传到您的服务器并运行它,所以请注意其中的一些问题。