- Home
- Categorie
- Coding e Sistemistica
- PHP
- Salvare file su server
-
Salvare file su server
Salve, ragazzi.
Non so come effettuare un'operazione e le ricerche finora compiute sono risultate vane.
Spero possiate aiutarmi voi.
$text = "Testo da memorizzare su file"; header("Content-disposition: attachment; filename=file.txt"); echo $text;
Questo semplice script serve per creare un file che verrà poi salvato sul PC.
Ma se voglio che il file generato venga salvato su una cartella del server, come devo modificarlo?
-
perchè non utilizzare una funzione per scrivere sui file di testo?
-
Ciao, massimux.
In realtà, il nome del file era solo un esempio.
Intendi dire con le funzioni fopen(), fwrite() ecc?
Potrei però aver bisogno di generare un file in PDF tramite FPDF, o un file xml, oppure ancora uno CSV, ecc.
In ciascuno di questi casi, dovrei comunque generare un file e poi salvarlo su server, giusto?
-
@kru said:
Intendi dire con le funzioni fopen(), fwrite() ecc?
In ciascuno di questi casi, dovrei comunque generare un file e poi salvarlo su server, giusto?
yes e yes...
-
Dunque, dovrei fare in questo modo (sintetizzato):
$text = "Questo è il testo generato da salvare su file"; $file = fopen("/home/cartella/file.txt", "r+"); fwrite($file, $text); fclose($file);
E' corretto?
-
con r+ metti il puntatore ad inizio del file e fai scrivere il tutto;
per il resto tutto ok
-
Piuttosto che usare "r+", se devi solo scrivere in un file, dovresti usare "w" oppure "a" (nel caso ti voglia aggiungere contenuto ad un file già esistente.
Se invece usi PHP5, fai prima con:
file_put_contents(<nomefile>,<testo>)
-
@InuYaksa said:
Se invece usi PHP5, fai prima con:
file_put_contents(<nomefile>,<testo>)Grazie ad entrambi per l'aiuto
-
Ciao, ragazzi.
E' da ieri che provo, ma non riesco proprio a fare nulla, per via degli attributi delle cartelle.
unlink("prova.txt"); file_put_contents("prova.txt","$text");
Vi spiego.
Cancello il vecchio file e creo quello nuovo, inserendovi il testo.
Il problema è che questo script sta all'interno della cartella /admin/ e funziona solo se imposto i permessi su 777.
Questo naturalmente non è accettabile, visto che non è saggio lasciare libera quella cartella.Ho anche provato a modificare gli attributi con chmod(), ma non sembra funzionare...
Tra l'altro, il file viene creato dal pannello admin (quindi dalla cartella admin), ma poi dovrà essere spostato sulla root del sito.
Ho provato con una funzione copy() ma anche in questo caso il risultato è un bel "permission deined".Come posso risolvere tutta sta faccenda?
Grazie ancora