move_uploaded_file()无法正常工作,但文件已上传?

时间:2016-02-05 17:24:55

标签: php

所以我现在正在尝试创建一个代码,它只是创建一个文件并将文件发布到我的webroot,修改并写入该文件,然后最后使用move_uploaded_file将文件的位置更改为另一个目录/文件夹( )

这是我目前的代码

$myfile = fopen($_POST['title'].".txt", "w");
move_uploaded_file($myfile,'$dir/$title.txt');
fwrite($myfile, $_POST['textarea11']);
fclose($myfile);

代码无效,我尝试回复move_uploaded_file()并且它没有返回任何内容,但是文件已上传,但其位置并未发生变化。<\ n / p>

$dir定义为$dir = __DIR__.'/../uploads/';,$ title定义为$title = $_POST['title'];

2 个答案:

答案 0 :(得分:0)

move_uploaded_file()只能在提交多部分表单并且您要保存上传的文件时使用。

你可能需要的是: http://php.net/manual/en/function.rename.php

答案 1 :(得分:0)

将您的给定代码更改为

    $dir = __DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'uploads';
    $myfile = fopen($_POST['title'].".txt", "w");
    move_uploaded_file($myfile,"$dir".DIRECTORY_SEPARATOR."$title.txt");
    fwrite($myfile, $_POST['textarea11']);

在您的代码中

move_uploaded_file($myfile,'$dir/$title.txt');

php变量$ dir和$ title值未来。 $ dir的价值包括&#39; /&#39;而且你还要再添加一个来制作完整的文件路径。

始终使用目录分隔符在所有操作系统中运行。某些操作系统使用&#39; /&#39;和一些操作系统使用&#39; \#39;。