Uploadify - file non presentandosi
Domanda
Sto cercando di utilizzare Uploadify (un plugin jQuery) con la mia CakePHP app. Localmente (WampServer), funziona benissimo, ma quando provo sul mio server di vivere (DreamHost), i file non vengono mostrate. Ho correttamente chmod'ed le cartelle, controllato i percorsi, ecc, e non riesco a dare un senso del perché non funziona. Ecco 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";
Questo script è decisamente in esecuzione, ma ho guardato nella cartella specificata (e in tutto il file system), e il file caricato (s) solo che non vengono visualizzati! Mi sta facendo impazzire - si spera che qualcuno ha la risposta a questa. Per favore fatemi sapere se devo inviare più codice, e lo farò.
Soluzione 2
Si scopre, è stato questa riga:
$targetFile = str_replace(".", "_" . mt_rand(10000000,99999999) . ".", $targetFile);
Questa linea è stata pensata per aggiungere una serie casuale di numeri per il nome del file per evitare collisioni. Tuttavia, come si può vedere, è che operano su tutto il percorso, non solo il nome del file. Beh, il mio nome di dominio è nel mio percorso (cioè mydomain.com), e così è ottenere modifiche al mydomain_12314123402.com, che ovviamente è un percorso che non esiste.
L'uomo, mi sento come un idiota!
Altri suggerimenti
Si potrebbe cambiare $ targetPath quindi è relativo al documento, piuttosto che il percorso del server esatto. Ho avuto un problema simile qualche tempo fa.