Php Uploadify-文件未显示

Php Uploadify-文件未显示,php,jquery,cakephp,uploadify,Php,Jquery,Cakephp,Uploadify,我正在尝试将Uploadify(一个jQuery插件)用于我的CakePHP应用程序。在本地(WampServer),它工作得很好,但是当我在我的实时服务器(Dreamhost)上尝试它时,文件不会显示出来。我已经正确地对文件夹进行了chmod'ed,检查了路径,等等,我不明白为什么它不工作。下面是upload.php: if (!empty($_FILES)) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath

我正在尝试将Uploadify(一个jQuery插件)用于我的CakePHP应用程序。在本地(WampServer),它工作得很好,但是当我在我的实时服务器(Dreamhost)上尝试它时,文件不会显示出来。我已经正确地对文件夹进行了chmod'ed,检查了路径,等等,我不明白为什么它不工作。下面是upload.php:

if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . "/app/webroot/posts/temp/";
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

    $targetFile = str_replace(".", "_" . mt_rand(10000000,99999999) . ".", $targetFile);

    move_uploaded_file($tempFile,$targetFile);
}
echo "1";

这个脚本肯定正在运行,但我已经查看了指定的文件夹(以及整个文件系统),上传的文件没有显示出来!这让我发疯了——希望有人能找到答案。请告诉我是否应该发布更多代码,我会的。

您可以更改$targetPath,使其相对于文档而不是确切的服务器路径。不久前我遇到了类似的问题。

您可以更改$targetPath,使其相对于文档而不是确切的服务器路径。不久前我遇到了类似的问题。

结果是,这是一行:

$targetFile = str_replace(".", "_" . mt_rand(10000000,99999999) . ".", $targetFile);
这一行的意思是在文件名后附加一系列随机数字,以避免冲突。但是,正如您所看到的,它在整个路径上运行,而不仅仅是文件名。嗯,我的域名在我的路径中(即mydomain.com),因此对mydomain_12314123402.com进行了更改,这显然是一条不存在的路径


伙计,我觉得自己像个白痴

原来是这样的:

$targetFile = str_replace(".", "_" . mt_rand(10000000,99999999) . ".", $targetFile);
这一行的意思是在文件名后附加一系列随机数字,以避免冲突。但是,正如您所看到的,它在整个路径上运行,而不仅仅是文件名。嗯,我的域名在我的路径中(即mydomain.com),因此对mydomain_12314123402.com进行了更改,这显然是一条不存在的路径


伙计,我觉得自己像个白痴

是的,你应该使用pathinfo来获取适当的路径部分进行操作。或者在我构建完整路径之前,将我的随机数附加到文件名中,这就是我所做的。是的,你应该使用pathinfo来获取适当的路径部分进行操作。那,或者在构建完整路径之前,将随机数附加到文件名中,这就是我所做的。