Script PHP per leggere array.txt

  • Creatore Discussione Creatore Discussione kerkut
  • Data di inizio Data di inizio

kerkut

Nuovo Utente
2 Dic 2017
9
0
1
67
Salve
Sono nei guai per un piccolo script PHP:
PHP:
<?php

$nomefile="video.txt";
$apro=fopen($nomefile,"r");
$lista=fread($apro,filesize($nomefile));
fclose($apro);

$arrparole=explode(",",$lista);
$video = $_GET['id'];


$ti=$arrparole[1];
$de=$arrparole[2];

echo "$video";
echo "$ti";
echo "$de";

?>
che dovrebbe leggere un file .txt del tipo:
01,titolo video01,descrizione video01,
02,titolovideo02,descrizione video02,
03,ecc,ecc,
ecc,ecc,ecc,
e dovrebbe restituirmi, a secondo dell'ID appeso al link, un testo del tipo:
ID titoloID descrizioneID
invece non funziona, mi restituisce l'ID giusto ma mi da solo la prima riga dell'array video.txt
Evidentemente sono sbagliate le righe 14 e 15 che non collegano l'ID alle descrizioni.
Cosa posso fare?
 
Puoi usare qualcosa di simile

Codice:
$s = array_filter(file('video.txt',function($v) use ($video){
   $a=explode(",",$v);
   return $a[0]==$video;
});

considera che è un'esempio. In $s hai la riga che ha l'ID indicato
 
Provato ma mi da errore alla prima riga dello script; inoltro non capisco dove recupera l'ID per trovare la riga giusta.
Grazie comunque!
 
Risolto!
Ho considerato che per l'interprete PHP tutti i dati sono posizionati su di una lunghissima riga e la loro posizione è fissa e certa; mi è bastato sviluppare un algoritmo che individuasse la loro posizione in base all'ID appeso al link ed il gioco è fatto!
Ho avuto qualche problema nello sviluppare l'algoritmo perchè non mi ricordavo che per l'interprete PHP il primo termine della lista è 0 e non 1 ma poi ho risolto.
PHP:
<?php

$nomefile="video.txt"; // determino il file di testo che contiene la lista dei titoli
$apro=fopen($nomefile,"r"); // lo apro in sola lettura
$lista=fread($apro,filesize($nomefile)); // lo leggo
fclose($apro); // lo chiudo

$arrparole=explode(",",$lista); //genero la lunga lista di titoli
$video = $_GET['id']; //recupero l'ID dal link

$nti = ($video*3-2); //calcolo dall'ID la posizione del primo titolo
$nde = ($video*3-1); //calcolo dall'ID la posizione del secondo titolo

$ti = $arrparole[$nti]; //trovo il primo titolo
$de = $arrparole[$nde]; //trovo il secondo titolo

echo "$video"; // scrivo l'ID
echo "$ti"; //scrivo il primo titolo
echo "$de"; //scrivo il secondo titolo

?>
 

Discussioni simili