Uploadify - файловете не се показват

Опитвам се да използвам Uploadify (плъгин jQuery) с моето приложение CakePHP. Локално (WampServer) работи чудесно, но когато го пробвам на моя сървър на живо (Dreamhost), файловете не се показват. Направих правилно chmod на папките, проверих пътищата и т.н. и не мога да разбера защо не работи. Ето 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";

Този скрипт определено се изпълнява, но погледнах в указаната папка (и в цялата файлова система) и каченият файл(ове) просто не се показва! Това ме подлудява - дано някой има отговор на това. Моля, уведомете ме, ако трябва да публикувам още код, и ще го направя.


person Matthew Groves    schedule 24.07.2009    source източник


Отговори (2)


Можете да промените $targetPath, така че да е относително към документа, а не към точния път на сървъра. Преди малко имах подобен проблем.

person Ben Shelock    schedule 24.07.2009

Оказа се, че това е този ред:

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

Този ред имаше за цел да добави произволна поредица от числа към името на файла, за да се избегнат сблъсъци. Въпреки това, както можете да видите, той работи върху целия път, а не само върху името на файла. Е, моето име на домейн е в моя път (т.е. mydomain.com) и по този начин получавах промени в mydomain_12314123402.com, което очевидно е път, който не съществува.

Човече, чувствам се като идиот!

person Matthew Groves    schedule 24.07.2009
comment
Да, трябва да използвате pathinfo, за да получите подходящата част от пътя, върху която да работите. - person Justin Johnson; 24.07.2009
comment
Това, или просто преместете моето произволно число, добавено към името на файла, преди да конструирам пълния път, което направих. - person Matthew Groves; 24.07.2009