Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    "fopen" in sola scrittura non genera il file ne' lo aggiorna. Perche'?

    Lo so che e' banalissimo (per voi), ma per me non lo e'. Lo scirpt
    Ho uploadato sul mio server il seguente script php, e nella stessa directory un file contatore.txt

    <?php
    $prova = 'contatore.txt';
    If (is_writable($prova)) {
    if (!$fp = fopen("contatore.txt", "a")) {
    echo "Non si riesce ad aprire il file";
    exit;
    }
    if (!fwrite($fp, "prova")) {
    echo "Non si riesce a scrivere nel file";
    exit;
    }
    echo "Riuscito";
    }
    else {
    echo "Il file non e' accessibile";
    }
    ?>

    il fatto e' che, nonostante la "is_writable" ritorni un TRUE, e' la fopen che mi da' un FALSE, per cui lo script si ferma alla segnalazione "Non si riesce ad aprire il file". Perche'? Vi segnalo che in sola lettura "r" la fopen da' TRUE.
    Boh...

  2. #2
    nella riga : if (!$fp = fopen("contatore.txt", "a")) {

    hai usato l'operatore di ugualianza invece che di equivalenza cioe` = invece di ==

    IO farei cosi:

    $fp = fopen("contatore.txt", "a");
    if (!$fp) {
    Riccardo Tacconi

    www.riccardo.tacconi.name

    Web development - Web hosting

  3. #3
    Provato. Niente. Stesso risultato.

  4. #4
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    hai impostato i permessi di scrittura?

  5. #5
    non e' che devo cambiare qualcosa nei settings di gestione del mio dominio? il fatto che non faccia in alcuna maniera funzionare la fopen ('nomefile','w') mi da' da pensare...

  6. #6
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    nella cartella dove hai uplodato lo script devi dargli i permessi di scrittura 777.

  7. #7
    si devi dargli 777 al file .txt

    P.S.: se fai un contatore magari potresti metteri gli accessi su una apposita cartella nel database, e` una soluzione piu` flessibile.
    Riccardo Tacconi

    www.riccardo.tacconi.name

    Web development - Web hosting

  8. #8
    Originariamente inviato da rtacconi
    nella riga : if (!$fp = fopen("contatore.txt", "a")) {

    hai usato l'operatore di ugualianza invece che di equivalenza cioe` = invece di ==

    IO farei cosi:

    $fp = fopen("contatore.txt", "a");
    if (!$fp) {
    in quel caso non si usa l'uguaglianza

  9. #9
    OK grazie a tutti, essendo su aruba non sapevo che l'unica cartella aperta e' "public".
    Ora va tutto. Grazie!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.