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

    Leggere e Scrivere su file esterno

    Salve,

    Ho riscontrato delle difficoltà in una funzione.

    In sostanza devo leggere il contenuto (un numero) di un file txt che si trova all'interno di un mio dominio e incrementarlo.

    Il seguente codice funziona tranquillamente nello stesso dominio:
    Codice PHP:
    $configid '../public/id.txt';
    $countt intval(file_get_contents($configid));
    file_put_contents($configid, ++$countt);
    $IDP file_get_contents($configid); 

    Lo modifico per effetuare le modifiche su un file esterno:
    Codice PHP:
    $configid 'http://www.miosito.it/public/id.txt';
    $countt intval(file_get_contents($configid));
    file_put_contents($configid, ++$countt);
    $IDP file_get_contents($configid); 

    e mi restituisce il seguente errore:

    Warning: file_put_contents(http://www.miosito.it/public/id.txt) [function.file-put-contents]: failed to open stream: HTTP wrapper does not support writeable connections in D:\Inetpub\webs\****it\prova.php on line 6

    Non so proprio come risolverlo il problema.. per questo mi affido a voi.

    Vi ringrazio anticipatamente

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Il problema è che con file_put_contents non hai i permessi di scrittura se accedi al file tramite http. Sarebbe assurdo altrimenti, no?
    Il tuo problema si riassume nella domanda: "voglio modificare il file http://www.miosito.it/public/id.txt dal sito http://www.ilmioaltrosito.it/ attraverso http". Cosa devo fare? Bhè, in sostanza miosito.it è quello che deve effettuare la modifica vera e propria del file, mentre ilmioaltrosito.it si limita a comunicare a miosito.it, attraverso http, cosa modificare. Un blando esempio:

    ricevodati.php di miosito.it, che si occupa di scrivere il file:
    codice:
    $dato_ricevuto = (int) $_GET['data'];
    file_put_contents('../public/id.txt', $dato_ricevuto);
    inviodati.php di ilmioaltrosito.it, che si occupa di comunicarli a ricevodati.php:
    codice:
    $count = intval(file_get_contents("http://www.miosito.it/public/id.txt"));
    $count = $count + 1;
    file_get_contents('http://miosito.it/ricevodati.php?data='.$count)
    E' chiara la dinamica?
    Ultima modifica di .Kurt; 09-12-2014 a 18:20

  3. #3
    Non ho mai ricevuto una risposta cosi chiara è dettagliata Grazie infinitamente! (:

  4. #4
    C'è un solo piccolo problemino... lo script funziona..
    ma il problema è che nel momento in cui faccio un qualsiasi movimento su ilmioaltrosito.it

    mi esegue lo script.. e non solamente all'invio di un form.

    In poche parole l'ho inserito nella pagina grazie.php su ilmioaltrosito.it

    pare che ogni volta che il sito di carica invia lo script..

    un macello!! non si riesce a vincolare con un if magari.. e gli diciamo solo all'invio del form esegui questo script?
    Ultima modifica di Samuele.Darenzo; 10-12-2014 a 11:20

  5. #5
    ho notato anche che file file_get_contents da problemi.. ovvero se inserisco la stringa la pagina carica all'infinito.. mentre se la levo funge tutto. ovviamente senza passarmi i dati nell'altro sito

  6. #6
    mi correggo.. non carica all'infinito.. esegue file_get_contents un sacco di volte quindi ci vuole per forza un condizione

  7. #7
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Allega un po' di codice (possibilmente commentato).

  8. #8
    ho risolto nel seguente modo..

    la stringa file_get_contents l'ho inserita all'interno di una condizione assegnando ad un variabile all'esterno il valore di 0, all'interno della funzione incrementa.. cosi non si ripete..

    $a=0
    if($a==0){
    file_get_contents ....
    ....
    $a=$a+1}


    ma mi sembra parecchio strano.. perche non c'è nessun ciclo.. xD
    Comunque funziona. quindi apposto.

Tag per questa discussione

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.