Ho un problema strano... ora vi spiego e spero possiate aiutarmi..
ho deciso di utilizzare per gli upload del mio sito jquploader, quindi jquery, flash e php..
premessa:
i file di jquploader li ho messi in una cartella che chiameremo js, dove risiedono tutti i js, css ecc. del sito..
Allora io faccio la mia bella paginetta che funziona correttamente (ossia il campo file viene cambiato con il file in flash per eseguire l'upload), ma mi accorgo che quando si tenta di caricare mi da errore 406, quindi risolvo momentaneamente aggingendo nel js di jquploader la variabile siteurl che in pratica prende l'indirizzo del sito e lo riporta (es. http://nomesito.com)
Codice PHP:
ecc. ecc.
src: siteurl+'/newsite/template/js/jqUploader.swf',
ecc. ecc.
Bene! il problema sembra risolto..
invece...
mi accorgo che se la pagina da cui si richiede lo script ha il www (es. http://www.nomesito.com) iniziale questo non va (errore sandbox error quando si tenta di caricare la pagina), e anche l'action del form deve avere il www se la pagina da cui si richiede ce l'ha..
quindi ricapitolando..
pagina: http://nomesito.com/upload.php -> action del form: http://nomesito.com/do_upload.php => funziona
pagina: http://www.nomesito.com/upload.php -> action del form: http://nomesito.com/do_upload.php => non funziona
pagina: http://nomesito.com/upload.php -> action del form: http://www.nomesito.com/do_upload.php => non funziona
pagina: http://www.nomesito.com/upload.php -> action del form: http://www.nomesito.com/do_upload.php => funziona
quindi qui ho fatto ciclo sulla variabile $_SERVER['HTTP_HOST'] in modo da capire se la pagina da cui parte lo script ha il www oppure no (questa parte lavora correttamente) e mi restituisce il nome dell'host con www posto prima (es. http://www.nomesito.com) se la pagina ne è "munita" oppure senza nell'altro caso (es. http://nomesito.com).
qundi riporto questa variabile sia nel campo action del form, in modo che se il www è presente lo sia anche nell'action del form, e viceversa, e sia al posto del 'siteurl' nel file js in modo da evitare l'errore 406 e simili (ossia sandbox error)..
io pensavo a questo punto di avere risolto, invece
con IE va correttamente sia se la pagina ha il www che se non ce l'ha, mentre con firefox se la pagina non ha il www funziona, mentre se ha il www non funziona, e non da nessun errore.
ho messo anche nel file che gestisce la ricezione del file
per vedere se lo scriprt si blocca da qualche parte, ma è come se non venisse passato alcun parametro al file (il file data.txt nemmeno viene creato con FF mentre con IE la compilazione avviene)Codice PHP:
$fp = fopen('data.txt', 'w+');
foreach($_POST as $key => $value){
fwrite($fp, $key.' => '.$value.'\n'); }
fclose($fp);
da cosa può dipendere e soprattutto come posso risolvere?