- Home
- Categorie
- Coding e Sistemistica
- PHP
- dati del form
-
@Puitz said:
...capito qualcosa?
io ho trovato una guida per creare e scrivere nei file, le stò provando tutte:
fopen con ftp, http, in w, r....niente,dice di nn riuscire ad aprire il file
ho chiesto chiarimenti ad aruba e mi hanno risposto che per hosting windows non posso cambiare i permessi da 755....ma credo siano cmq sufficienti,giusto?
qualcuno riesce a darmi una soluzione da provare?
grazie ancora
ciauzzzzzzzzzzzzzzè da un pò che ci sbatto la testa... ti mando quello che sono riuscito a fare...
-
mi sono inoltrato in un discorso troppo assurdo. 2 cose che chiedo a chi guarderà questo post:
-se acquisto l'hosting linux da aruba, riuscirò a scrivere nei file? (chi ha esperienza con aruba potrà rispondermi)
-se doveste creare un modulo d'ordine in 3 pagine (form, riepilogo, spedizione dati), come manterreste attive le variabili?qual'è la soluzione che attuereste?
PaTeR, ne sei uscito?
ciao
-
ciao,
io uso aruba ( linux ) e non ho alcun problema nel creare file sul server, o nello scrivergli dentro. Non è che sbagli qlc?
Un modulo d'ordine? credo che ti convenga memorizzare i dati in un database.
-
nn sò se sbaglio qualcosa.ho letto le guide di aruba su hosting windows per scrivere nei file e c'è scritto che la cartella dove farlo è la "public", tu su linux scrivi dove ti pare?nn vorrei fare un investimento inutile, anche per quanto riguarda il database, ho 21 prodotti, e nn vorrei complicarmi troppo la vita
il codice per aprire e scrivere nel file di step2 è:
//fparticoli è la variabile che rappresenta il file con all'interno la variabile articolo per nome_prodotti
$fparticoli = fopen("/localhost/public/articolo.txt","w") or die("non riesco ad aprire articolo.txt");
echo "$nome_prodotti";
fputs($fparticoli, $nome_prodotti);
fclose($fparticoli);
unset ($fparticoli);e così anche per le altre 2 variabili
su elabora.php, dove si elabora e spedisce la mail, il codice di richiamo per le variabili è:
'.$fparticoli = fopen("/localhost/public/articolo.txt","r").'
'.fgets($fparticoli, 32).'
'.fclose($fparticoli).'ma nn riesce ad aprire il file articolo.txt già da step2 quindi nn memorizza niente.
per il comando fopen le ho provate tutte, mettendoci tutto seguendo la documentazione di phpnet e la cartella indicatami da aruba per windows, ma niente.
grazie per l'aiuto
ciao
-
su linux puoi settare i permessi in ogni cartella, su windows mi sembra che non si possa: in sostanza scrivi dove ti pare
Te lo straconsiglio ( puoi crearti anche i file .htaccess ).prova così ( testato e funzionante):
$contenuto = 'metti tutto quello che vuoi anche la variabile '.$nome_prodotti;
$file_da_aprire = fopen($_SERVER['DOCUMENT_ROOT']."/public/articolo.txt","w");
fwrite($file_da_aprire, $contenuto);
fclose($file_da_aprire);Chiaramente il file articolo.txt deve poter essere editabile.
-
@redriv said:
Chiaramente il file articolo.txt deve poter essere editabile.
cioè? ma scusa il permesso 755 nn è abbastanza? mettere un 777 è come aprire le porte a tutti e ora ho letto che anche su linux i permessi nn possono essere cambiati dal 755....
uffffff
modulo maledetto
-
deve avere i giusti permessi di scrittura ( 755 tramite Chmod sono sufficienti).
Se non ricordo male, la cartella public ha i permessi settati su 755 e tutti i file creati in quella cartella dovrebbero avere 755 ( teoricamente sono editabili).
-
@redriv said:
deve avere i giusti permessi di scrittura ( 755 tramite Chmod sono sufficienti).
Se non ricordo male, la cartella public ha i permessi settati su 755 e tutti i file creati in quella cartella dovrebbero avere 755 ( teoricamente sono editabili).
ho provato il tuo codice ma la risposta è sempre la stessa...nn riesce ad aprirmi il file articolo.txt
ma si può essere più sfigati
ciao
-
PaTeR 6 scomparso?
-
i permessi li setti con la funzione chmod?
in questo caso il valore lo passi decimale o ottale?
<?php
chmod("/somedir/somefile", 755); // decimale; probabilmente errato
chmod("/somedir/somefile", "u+rwx,go+rx"); // stringa; errato
chmod("/somedir/somefile", 0755); // ottale; valore corretto di mode (preceduto da uno 0)
?>