[PHP] Creare pagina con collegamenti ipertestuali da file txt

giannit

Nuovo Utente
30 Mar 2017
31
2
8
56
Ciao, vorrei sapere se è possibile creare una pagina php, importando i dati da un file txt, mi spiego meglio (spero) ho un file.txt che risulta cosi composto:
Codice:
Collegamento 1

http://www.esempio.com/index1.php

Collegamento 2

http://www.esempio.com/index2.php

Collegamento 3

http://www.esempio.com/index3.php

essendo una lista di esempio ma lunga, sarebbe possibile creare un file php tipo:

Codice:
<a href="http://www.esempio.com/index1.php">Collegamento 1</a>
<a href="http://www.esempio.com/index2.php">Collegamento 2</a>
<a href="http://www.esempio.com/index3.php">Collegamento 3</a>
in parole povere automatizzare la creazione dei tanti link che ho nel txt anzichè modificare a mano tutto? Grazie
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, leggi il file cicli il contenuto e lavori ogni riga, più o meno come hai fatto in questa discussione.
Puoi utilizzare 2 indici per creare un array con il quale andrai a comporre i link
PHP:
<?php
$file = "file.txt";

$fr = fopen($file, 'r');
$i = $x = 0;
$links = array();
while (!feof($fr)) {
    $riga = trim(fgets($fr));
    if (!empty($riga)) {
        if ($i % 2 == 0) {
            $links[$x]['name'] = $riga;
        } else {
            $links[$x]['link'] = $riga;
            $x++;
        }
        $i++;
    }
}
fclose($fr);

foreach ($links as $link) {
    echo "<a href='" . $link['name'] . "'>" . $link['link'] . "</a><br/>";
}
 

giannit

Nuovo Utente
30 Mar 2017
31
2
8
56
Codice:
foreach ($links as $link) {
    $st = "<a href='" . $link['link'] . "'>" . $link['name'] . "</a><br/>";
fwrite(fopen('menu.php','w'),$st);
Prima cosa, ringrazio per la risposta, script perfetto, ma unico appunto per chi dovesse copiarlo o prenderlo in considerazione e che
Codice:
 echo "<a href='" . $link['link'] . "'>" . $link['name'] . "</a><br/>";
Volendo creare un file menu.php ho eseguito questa modifica:
Codice:
foreach ($links as $link) {
    $st = "<a href='" . $link['link'] . "'>" . $link['name'] . "</a><br/>";
fwrite(fopen('menu.php','w'),$st);
ma quando vado ad aprire il file menu.php trovo solamente un collegamento, per l'esattezza l'ultimo della lista, mi sai dire dove sbaglio? grazie
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ma mi sembrava di aver capito male. Nel file php devono esserci solo i link ? se non contiene codice php puoi usare un file html.
comunque dopo aver creato l'array di link prepari una stringa e crei il file php
PHP:
$output = "";
foreach ($links as $link) {
    $output .= "<a href='" . $link['name'] . "'>" . $link['link'] . "</a><br/>";
}
$file = "menu.php";
$codice = "<?php
?>
{$output}
";
$fo = fopen($file, "w");
chmod($file, 0755);
fwrite($fo, $codice);
fclose($fo);
 

giannit

Nuovo Utente
30 Mar 2017
31
2
8
56
Fatte le modifiche, mi sono accorto che ad ogni fine link non andavo a capo, ed o aggiunto il tag \n
Codice:
$output .= "<a href='" . $link['link'] . "'>" . $link['name'] . "\n </a><br/>\n" ;
Grazie mille, per la pazienza e disponibilità.
P.S. è normale che se il file menu.php esiste, questo non venga cancellato e riscritto?, come posso fare per riscrivere il file ogni volta che faccio un nuovo aggiornamento?
 
  • Like
Reactions: criric

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
il parametro "w" indica alla funzione che deve sovrascrivere il file esistente, il parametro "0755" indica alla funzione chmod di dare i permessi di scrittura al file.
Se il tuo vecchio menu.php non ha i permessi di scrittura devi darglieli oppure eliminalo/rinominalo e ricrealo direttamente con lo script.
 

giannit

Nuovo Utente
30 Mar 2017
31
2
8
56
Hai perfettamente ragione, scusami, guardavo la data di creazione e non quella dell'ultima modifica. Ancora Grazie.
 
Discussioni simili
Autore Titolo Forum Risposte Data
J creare pagina php di prenotazione PHP 5
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
R [PHP] creare pagina profilo per ogni utente PHP 4
M Creare tabella da pagina php popolata con valori passati con POST PHP 5
F Creare pagina PHP come quella di phpMyadmin PHP 12
utente è possibile creare una pagina php che copia interamente il contenuto di un'altra pagina ? PHP 10
S PHP: creare un link in una pagina PHP 7
V creare un collegamento di pagina html in php PHP 10
T vBulletin 3.8.x E' possibile creare una nuova pagina in PHP nel forum? CMS (Content Management System) 0
helpdesk creare una pagina html dimanicamente con php PHP 12
R Creare pagina HTML da script PHP PHP 2
P creare pagina php Database 0
S Libreria PHP per creare file dwg o dxf PHP 0
F [PHP] creare tabella e tasto cerca PHP 3
B [PHP] Creare PDF dopo inserimento dati form PHP 4
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
Z Creare VirtualHost Apache2 con PHP? Programmazione 0
E [PHP] creare temporary table per dati da xml PHP 2
M [PHP] Creare un menu a tendina con pdo PHP 18
G [PHP] Creare mail con allegato nascosto e bottone di richiamo PHP 0
C [PHP] Creare un Pulsante che ricopia valori di un campo in altro record PHP 4
Shyson [WordPress] [PHP] Creare codice che evidenzia nuovi articoli WordPress 0
ANDREA20 creare sito in php PHP 6
G [PHP] Creare appuntamento ed inviarlo tramite mail (Outlook e Gmail) PHP 0
F [PHP] Creare un'area web riservata PHP 13
S [PHP] [HTML] Come creare un grafico dinamico PHP 4
V Creare tabella mysql con php non funziona PHP 1
B [PHP] hp script creare un utente diminuendo -1 e cosi via PHP 1
AntoCastro [PHP] Creare un sito di quiz a catena PHP 17
V Creare funzioni PHP per agevolare bootstrap PHP 1
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
M Creare tabella da pulsante php PHP 6
M Creare un exe da un listato php PHP 5
P [PHP] Creare un elenco completo con tabella PHP 3
Zea [PHP] RISOLTO - creare link con il risultato dell'interrogazione db PHP 1
A [PHP] Creare numero ticket casuale PHP 5
B [PHP] Creare un'interfaccia di inserimento testo in varie posizioni PHP 1
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
L [PHP] Creare un uploader di file csv xls e ricercare i risultati PHP 0
Zayciho [PHP] Creare sito web dinamico PHP 5
P [PHP] Creare elenco immagini PHP 2
L [php e xml] per creare una galleria fotografica con diversi file xml PHP 0
M [PHP] Creare chart con highchart PHP 6
T [PHP]Creare cookie PHP 5
Monital [PHP] Creare un array da stringa con diversi spazi PHP 3
P [PHP] come creare una chat PHP 24
trattorino Creare codice php help PHP 26

Discussioni simili