我想用我的CakePHP应用程序中使用Uploadify(一个jQuery插件)。本地(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";

本脚本绝对是运行的,但是我已经在指定的文件夹看起来(和整个文件系统),上传的文件(S),只是没有显示出来!它的驾驶我疯了 - 希望有人有这个问题的答案。请让我知道我是否应该发布任何更多的代码,我会的。

有帮助吗?

解决方案 2

事实证明,正是这种行:

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

此线是为了随机一系列数字附加到文件名以避免冲突。然而,正如你可以看到,它的经营整个路径上,而不仅仅是文件名。好,我的域名是在我的路径(即mydomain.com),因此,渐渐变为mydomain_12314123402.com,这显然是不存在的路径。

男人,我觉得自己像个白痴!

其他提示

您可以改变$ TARGETPATH所以它是相对于文档,而不是确切的服务器路径。我前一阵子也有类似的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top