我正在尝试使用我的CakePHP应用程序使用Uploadify(一个jQuery插件)。本地(WampServer),它工作得很好,但当我在我的实时服务器(Dreamhost)上尝试它时,文件不会显示。我已正确地修改文件夹,检查路径等,我无法理解为什么它不起作用。这是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";
这个脚本肯定在运行,但是我查看了指定的文件夹(以及整个文件系统),并且上传的文件没有显示出来!这让我发疯了 - 希望有人能解决这个问题。如果我要发布更多代码,请告诉我,我会。
答案 0 :(得分:2)
您可以更改$ targetPath,使其相对于文档而不是确切的服务器路径。我不久前遇到过类似的问题。
答案 1 :(得分:2)
原来,就是这一行:
$targetFile = str_replace(".", "_" . mt_rand(10000000,99999999) . ".", $targetFile);
此行旨在向文件名后附加一系列随机数字以避免冲突。但是,正如您所看到的,它在整个路径上运行,而不仅仅是文件名。好吧,我的域名在我的路径中(即mydomain.com),因此正在对mydomain_12314123402.com进行更改,这显然是一条不存在的路径。
伙计,我觉得自己像个白痴!