Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: chiarimento fopen

  1. #1

    chiarimento fopen

    ciao a tutti, volevo chiedere dei chiarimenti riguardo alle operazioni che si possono effettuare sui file:

    1° - si possono utilizzare le funzioni fopen in locale?

    2° - con la funzione fopen, in che modo vengono aperti i file?mi spiego meglio.. se apro un file .txt viene aperto con il notepad oppure viene vengono abilitati soltanto i permessi di lettura e scrittura che ho specificato io?

    3° - ho provato a scriver un esempio ma in locale non ottengo risultati:
    Codice PHP:
    <?
    $fp 
    fopen("http://localhost/pippo.txt""w+");
    if(!
    $fp) die ("Errore nella operaione con il file");
    echo 
    $fp;?>
    ed ottengo questo rilutato:

    Warning: fopen(http://localhost/pippo.txt): failed to open stream: HTTP wrapper does not support writeable connections. in C:\php_test\file_system.php on line 2
    Errore nella operaione con il file

    che significa questo messaggio?

    Ciao a tutti!!!
    aquatimer2000

  2. #2
    1) certo.. quello è l'uso "normale"

    2) aprire un file vuo,l dire ottenere un puntatore al file, per leggerlo o oper scriverlo.. non lanciar e un appplicativo..

    3) perchè se si potesse scrivere su un file remoto sarebbe la fine del web
    Se il file è tuo e sta sul tuo server usa un path locale relativo, non un path assoluto con HTTP


  3. #3
    ciao }gu|do[z]{®©!!

    1 - che vuol dire "ottenere un puntatore al file, per leggerlo o oper scriverlo" ?

    puoi spiegarmi un po' meglio o magari se c'è qualche cosa da leggere in merito..!

    2 - domanda forse stupida: è possibile aprire delle applicazioni con php?



    ..Se il file è tuo e sta sul tuo server usa un path locale relativo, non un path assoluto con HTTP
    ok, questo l'ho capito
    aquatimer2000

  4. #4
    1) vuol dire che a basso livello ottieni l'indirizzo di memoria cui si trova il file... e passando quello alle apposite funzioni queste sanno dove leggere o scrivere...
    In modo più astratto ottieni un handller.. quello che chiami $fp;


    questo vuol dire grosso modo aprire un file [la funzione php chiama l'aposita funzione del sistema operaivo che restituisce l'indirizzo del file e "prepara" il file.. perchè se devi scriverlo si deve assicurare che tu sia l'unico a farlo in quel momento.. ]


    2) exec($comando); puoi lanciare qualsiasi comando.. ma sul servr, non sul client ovviamente


  5. #5
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    reference:
    fopen

    Teoricamente puoi anche aprire in lettura ("r") un file specificato da un URL MA occorre avere abilitata una certa opzione di configurazione (allow_url_fopen)(di default dovrebbe esserlo)
    Ovviamente per la scrittura devi muoverti "in casa tua"...non sarebbe simpatico se qualcuno ti scrivesse un .txt pieno di insulti sul tuo sito...no?

  6. #6
    [supersaibal]Originariamente inviato da JHammer
    ...non sarebbe simpatico se qualcuno ti scrivesse un .txt pieno di insulti sul tuo sito...no? [/supersaibal]
    se fosse solo questo sarebbe persino simpatico..

    pensa come sarebbe bello defacciare siti.. o aggiungere codice in files php altrui...

  7. #7
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    già!

  8. #8
    ok ragazzi, siete stati utili come al solito!!

    ora vi spiego il perchè di questo post..

    sto creando locale un piccolo sistema per la gestione delle fatture.. (molto semplice.. senza nessuna pretesa...)

    pensavo di utilizzare un database per il salvataggio dei dati, e ad ogni inserimento di una nuova fattura, creare un file di word (.rtf) in cui stampare i dati contenuti nel database.

    pensavo (erroneamente) di poter arrivare a questa soluzione con la funzione fopen.

    Come posso ottenere un risultato del genere?
    Che altre suluzioni posso utilizzare?
    aquatimer2000

  9. #9
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Ma skusa...

    hai PHP , mysql, html...che te ne fai del rtf???

    Usa mysql come db per registrare i dati poi ti scrivi un programmino php che estrae i dati e ti fa una bella pagina HTML piena di colori ed effetti pirotecnici!!!

    Se non sapessi usare mysql ritengo valga la pena di imparare vista la sua semplicità ed utilità.
    Sul medio e lungo periodo è veramente un ottimo investimento!
    Poi quando migliori l'abilità grafica o di scripting puoi farti output più belli e complessi (o un semplice report txt).

    Una volta che la pagina è scritta è un attimo stamparla o esportarla direttamente in word.

    Se il problema è solo usare un file come stream (invece della finestra del browser) niente di più semplice:

    codice:
    // apri in sola scrittura (crea se non c'è)
    $hof = fopen("fileditesto.txt","w");
    
    // scrive string
    fwrite($hof,$string."\n"); // scrive una riga poi va a capo
    
    // chiude
    fclose($hof);

  10. #10
    beh in effetti a questa soluzione ci avevo pensato anche io, soltanto che creando delle pagine html ho dei problemi al momento della stampa se quello che stampo non entra tutto in una pagina.

    Mi spiego meglio... se il contenuto del file html occupa più di una pagina la stampa viene male...(taglia l'ultima riga a metà... spezza le tabelle ecc...)

    C'è un metodo per risolvere questo problema?
    aquatimer2000

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.