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

    [File] Scrittura in un file

    Salve ho un problema nella dichiarazione di un file: il mio scopo è aprire un file e se non esiste crearlo per poi successivamente scriverci dentro. Perche utilizzando or non mi da questa funzionalita?

    codice:
    $path="file.php";
    $file=fopen($path, "w+") or fopen($path,"x+");

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Perché non si fa così, non puoi mettere OR in giro a caso, gli operatori booleani si usano solo dove il risultato deve essere appunto un booleano (true o false) a te alla fine serve un handle ad un file.

    Qui ci sono tutte le opzioni che hai a disposizione, ma se ho ben capito ti serve a oppure a+

  3. #3
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Perche utilizzando or non mi da questa funzionalita?
    Per via della priorità di OR rispetto all'operatore di assegnazione: http://php.net/manual/en/language.op...precedence.php
    Codice PHP:
    $file=fopen($path"w+") or fopen($path,"x+"); 
    equivale a

    Codice PHP:
    (($file=fopen($path"w+")) or fopen($path,"x+")); 
    Significa che se il primo fopen fallisce, e restituisce false, $file conterrà false, punto. $file = false or true; <=> ((
    $file = false) or true); => $file = false;


    Per farlo funzionare come ti aspetti, dovresti scrivere qualcosa del genere:
    Codice PHP:
    $file fopen($path"w+") or $filefopen($path,"x+"); 
    Lo dovresti fare? Per favore, no. E' assolutamente illeggibile.
    Ultima modifica di .Kurt; 19-11-2015 a 19:41

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.