Ciao a tutti, vi spiego la mia situazione: ho un sito in PHP che permette di creare degli "incontri" tramite un form; inserendo alcuni dati (luogo, ora, tema dell'incontro, ecc.), automaticamente questo viene inserito e visualizzato nel sito. Ciò comporta la creazione di cartelle e il caricamento di file da form (per ogni incontro, viene creata una cartella, che ha come nome la data, al cui interno viene caricato il materiale relativo). In locale funziona perfettamente, sul server che mi ospita no, per una serie di impostazioni di permessi e di PHP. Vi espongo quello che mi succede, nella speranza che qualcuno mi sappia dire se il mio problema si può aggirare o se mi devo rivolgere a chi mi da lo spazio sul server.
Come vi ho già detto, nel momento in cui inserisco il mio incontro, vado a creare una cartella, che ha come nome la data.
Primo problema: ottengo un errore di permessi nel mkdir(). Ho risolto impostando i permessi a 777 (ovvero lettura, scrittura ed esecuzione a tutti) nella cartella "incontri", che è quella al cui interno creo le sottocartelle per ogni incontro. Inoltre, anche alla sottocartella che creo, do i permessi 777 tramite il comando chmod.
Secondo problema: nel momento in cui viene effettuato l'upload del file, ovvero alla riga
codice:
move_uploaded_file($_FILES['file']['tmp_name'],$path);
ottengo questo errore:
codice:
Warning: SAFE MODE Restriction in effect. The script whose uid is 652 is not allowed to access /home/virtual/site151/fst/var/www/html/universitari/incontri/2005-01-01 owned by uid 48 in /home/virtual/site151/fst/var/www/html/universitari/admin/incontri/incontro_inserito.php on line 65
La cosa strana, che non riesco a capire, è che questo problema ce l'ho solo se la cartella viene creata dalla pagina PHP: se la stessa cartella la creo dall'FTP, dandogli gli stessi attributi che gli assegna la pagina (ovvero 777), l'upload funziona senza problemi.
Ho fatto proprio questo esperimento:
1) ho creato un incontro con data 2007-01-01
2) ho caricato del materiale per quell'incontro, ottenendo l'errore riportato sopra durante l'upload
3) da ftp, ho cancellato la cartella 2007-01-01 e ne ho ricreata un'altra con lo stesso nome e gli stessi permessi (777)
4) ho provato a ricaricare del materiale e questa volta è filato tutto liscio
Grazie per l'aiuto e scusate se sono stato un po' lungo! Ho cercato un po' su Google, ma l'unica soluzione riportata per risolvere l'errore SAFE MODE Restriction in effect è quella di modificare il php.ini, disabilitando la SAFE MODE. Capite anche voi che, se il mio provider ha abilitato quell'opzione, ci sarà un motivo e non posso chiedergli di toglierla solo per me...