Aiuto per un algoritmo

di il
8 risposte

Aiuto per un algoritmo

funzione ciccio():{
	prendo il valore e la assegno ad una variabile $x
	apro un file "g"
	controllo qual'è l'ultimo numero che ho scritto
		se c'è "nessun valore" 
			scrivo $x 1
		altrimenti 
			scrivo $x + ultimo_numero+1
chiudo il file "g"
}
chiamo la funzione ciccio()
questo algoritmo è fattibile in PHP?

8 Risposte

  • Re: Aiuto per un algoritmo

    Certo che è fattibile
    Vedi questo esempio http://www.appuntiphp.com/2010/02/contatore-accessi-php-file-testo.html
  • Re: Aiuto per un algoritmo

    Quindi:
    <?php
    function ciclamino(){
        $open= fopen (DB.txt);
        $qualcosa = html_entity_decode ($_POST["contenutoscrittonellatextarea"]);
        $ora = strftime ("%H:M%");
        $numero = 0;
        $ciccio = fwrite($open,"<div id='ciao'>$qualcosa</div><div id='ora'>$ora</div>$numero");
        fclose ($open);
    }
    contenuto();
    ?>
    $qualcosa mi prende i dati che ho messo nella textarea della pagina precedente e li scrive sul DB.txt.
    Se io inserisco $numero nel DB.txt alla fine del "primo articolo" php stampa il numero "0".
    Quando poi nella home metto questo codice
    <?php
    	$file = "DB.txt";
    	$filea = fopen("DB.txt","r");
    	$ciccio = fread ($filea, filesize($file));
    	print utf8_encode($ciccio);
    ?>
    mi prende ovviamente tutto il DB.txt e lo stampa correttamente nella pagina.
    fino a qui è perfetto, però vorrei far si che l'ultimo codice php (quello nella home) riconosca la differenza tra un'articolo e l'altro, con getElementById prendere i div e poi per ogni elemento prendere solo un certo numero di byte si può?
    Meglio creare una una pagina per ogni articolo?

    Forse è troppo complesso e converebbe usare mysql; lo sò, ma vorrei provarci
  • Re: Aiuto per un algoritmo

    Quindi di fatto si tratterebbe di leggere dal file solo un certo numero di righe? tipo righe 4-5-6-7?
    Allora potresti usare altre funzioni di lettura, tipo fscanf o fgets, scartando le righe prima e dopo quelle considerate (con un ciclo); ovviamente in fase di scrittura devi andare a capo dopo ogni record.
  • Re: Aiuto per un algoritmo

    Grazie a tutti delle risposte.
    Parto dal principio:
    Voglio creare una pagina di articoli da mettere on line, e fare di un file di testo un database.
    sono arrivato a completare tutta la parte principale, posso creare e stampare gli articoli in ordine cronologico. Vorrei far si che gli articoli nella home vengano stampati solo in parte come le classiche "home-news" poi cliccando sopra al relativo articolo aprire una pagina con l'articolo completo.
    Di fatto si tratterebbe di riconoscere il contenuto della pagina e dividerlo in parti, una volta fatto ciò leggere 5-6 righe di ogni parte e stamparla.
    Quindi secondo voi si può fare con un solo file o è meglio creare un file per ogni articolo?
    (scusate se ripeto di nuovo la domanda)

    dvaosta ha scritto:


    Quindi di fatto si tratterebbe di leggere dal file solo un certo numero di righe? tipo righe 4-5-6-7?
    Allora potresti usare altre funzioni di lettura, tipo fscanf o fgets, scartando le righe prima e dopo quelle considerate (con un ciclo); ovviamente in fase di scrittura devi andare a capo dopo ogni record.
    non so se ho capito bene, la distanza tra un'articolo e l'altro non è una costante, dato che è un incognita non riuscirei, numerando le righe, a prendere sempre titolo e contenuto degli articoli.

    Però ho fatto una cosa:
    ho detto a PHP di stampare il contenuto delle textarea tra dei tag html per l'esattezza sono dei <div> quindi se php riconoscesse dal file questi div e per ogniuno prendesse solo qualche byte?
  • Re: Aiuto per un algoritmo

    unbreker ha scritto:


    Grazie a tutti delle risposte.

    non so se ho capito bene, la distanza tra un'articolo e l'altro non è una costante, dato che è un incognita non riuscirei, numerando le righe, a prendere sempre titolo e contenuto degli articoli.
    Ma tu gli articoli devi formattarli con l'html, quindi in realtà nel file puoi salvarli su un unica riga (ovviamente quando li inserisci devi fare dei controlli per togliere eventuali accapi presenti che non siano dati da tag html).
  • Re: Aiuto per un algoritmo

    Ma non c'è un modo semplice per far cercare a php i tag e stampare un tot di byte del contenuto di questi ultimi?
    ho letto che si può fare con i documenti in .xml; devo per forza ricominciare tutto da capo?...
    perchè nn riesco a capire come estrarre con php i contenuti dei tag <div id="ecchecavolo!!!!"></div>?? ...
    		<?php 
    		$var = 0;
    		$maxarticoli = 20;
    		$cartella = "../articoli/";
    		//prendi tutti i file con estensione *.php.
    		$files = glob($cartella . "*.php");
    		
    		//stampa un nome del file per volta.
    
    		foreach ($files as $file){
    	
    			if ($var < $maxarticoli){
    				$ciccio = fopen ($file, "r");
    				$ciccio1 = fread ($ciccio, filesize($file));
    				$value=preg_match_all('/<div id=\"lista\">(.*?)<\/div>/s',$ciccio1,$stampaqualcosacazzberg);
    				echo "<div id='ciccio'>",$stampaqualcosacazzberg,"...","</div>";
    			$var++;}
    		else {
    		break;}
    		}
    					?>
    l'output è il seguente
    Notice: Array to string conversion in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC11\data\localweb\KR\parti\corpo.php on line 31
    Array...
    aiuto non ne esco più, sono 2 giorni... .-.
    è vero che scopiazzo da una parte all'altre e metto assieme i pezzi però è frustrante...
    alla fine di questa brutta esperienza farò una guida su come fare quello che sto creando adesso perchè non ci sono guide in merito.
  • Re: Aiuto per un algoritmo

    Se usi l'xhtml puoi usare varie librerie già incluse in php che permettono come dici tu di lavorare sull'xml.

    Però devi essere certo di avere a che fare con xhtml valido. Con l'html non funziona.
  • Re: Aiuto per un algoritmo

    Scusami dvaosta fgets è un ottima soluzione e non ho accettato il consiglio.
    Quindi la cosa migliore è quella di dividere il testo regolandolo con i ritorni a capo quando ne ho bisogno, tanto poi la formattazione verrà processata dal browser.
    Non ho però capito come escludere determinate righe e prenderne altre.
    Ti chiedo un ulteriore aiuto se possibile.
    apro un file
    cerco in esso le righe che mi servono
    stampo queste righe
    chiudo il file
    Come posso usare fgets?
    Ho problemi a capire la sintassi della documentazione.
Devi accedere o registrarti per scrivere nel forum
8 risposte