Avatar billede kodak Mester
07. marts 2007 - 22:32 Der er 34 kommentarer og
1 løsning

Tekst fra txt fil til php side

Jeg har følgendene 2 filer.

note.txt
--------------------
velkommen:
1""
2""

torsdag:
1""
2""
--------------------

test.php
--------------------
<?php
extract($_GET);
$type = ( !empty( $_GET['type'] ) ? basename( $_GET['type'] ) : '' );
include("../data/template1.txt");

include("../data/template2.txt");
?>


<?php
include("../data/template3.txt");

echo "<img src=\"../images/header-" . $type . ".jpg\">";
?>

<?php
include("../data/template4.txt");

?>
<center>
<?php

$images = array();

//Temp arrays
$dates = array();
$names = array();


foreach (glob(getcwd() . "/" . $type . "{*.jpg,*.JPG,*.jpeg,*.JPEG}", GLOB_BRACE) as $image)
{
    $filename = basename($image);
    if(preg_match('/(.+?)-(.+?)-(\\d{2})_(\\d{2})_(\\d{2})\\.jpe?g/', $filename, $match))
    {
        $images[] = array('date' => mktime(0, 0, 0, $match[4], $match[3], '20'.$match[5]),'name' => $match[1], 'title' => $match[2], 'file' => $filename);
    }
}

// Obtain a list of columns
foreach ($images as $key => $image)
{
    $dates[$key] = $image['date'];
    $names[$key] = $image['name'];
}

array_multisort($dates, SORT_INC, $names, SORT_ASC, $images);

foreach ($images as $image)
{
    if($image['date'] >= time())
    {
        echo '<table>';
        echo '<tr><td>';
        echo 'Hent tekst fra note.txt "1"';
        echo '</td><td>';
        echo '<tr><td>';
        echo '<img src="'.$image['file'].'" title="'.$image['title'].'" />'];
        echo '</td><td>';
        echo '<tr><td>';
        echo 'Hent tekst fra note.txt "2"';
        echo '</td><td>';
        echo '</table>';
        echo '<br />';
    }
}

?>
</center>

<?php
include("../data/template5.txt");
?>
--------------------

Går jeg så ind på test.php?type=torsdag
Så skal den tage bruge teksten fra note.txt>torsdag
Og smide ind på siden som vist længere oppe.

Håber jeg har formuleret mig godt nok.
Og håber samtidig du kan hjælpe mig
Avatar billede danishmale Nybegynder
08. marts 2007 - 15:17 #1
$fd = fopen ("log_file.txt", "r");
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);
  $lines[] = $buffer;
}
fclose ($fd);

så loop igennem $lines til du finder den linie du skal bruge
Avatar billede kodak Mester
08. marts 2007 - 18:22 #2
Forstår jeg ik?
Avatar billede kodak Mester
08. marts 2007 - 18:25 #3
1. hvad er det lige det script gør som du viser?
2. hvor vil du have jeg skal smide det?
3. hvad mener du med jeg skal loop?
Avatar billede danishmale Nybegynder
08. marts 2007 - 21:57 #4
Sæt denne kode ind i din test.php FØR du skal bruge det som står i note.txt:

$sogefter = $_REQUEST['type'];
$fundet = false;

$fd = fopen ("note.txt", "r");  // Åbner filen note.txt
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);  // Henter indholdet af note.txt
  if (stripos($buffer,$sogefter)===false&&(!$fundet))
  {
    // Gør ingenting
  }
  else
  {
    if (stripos($buffer,':')===false&&$buffer!='')  // Tilføj til array når der ikke er : i teksten
    $tekstderskalbruges[] = $buffer;
    if (!$fundet)
      $fundet=true; // Start valgte punkt
    else if (stripos($buffer,':'))
      $fundet=false; // Stop ved næste beskrivelse der har : i teksten
  }
}
fclose ($fd); // Lukker filen note.txt







erstat echo 'Hent tekst fra note.txt "1"'; med echo $tekstderskalbruges[0];
erstat echo 'Hent tekst fra note.txt "2"'; med echo $tekstderskalbruges[1];

Jeg ændret note.txt list så den ser således ud nu:

velkommen:
Linie 1 i velkommen
Linie 2 i velkommen

torsdag:
Linie 1 i torsdag
Linie 2 i torsdag
Avatar billede kodak Mester
09. marts 2007 - 21:42 #5
Hvor skal det placeres?

Det eneste jeg får ud af at smide det ind er:
http://diskotekglobe.dk/kom/3/
Avatar billede danishmale Nybegynder
09. marts 2007 - 22:46 #6
Her er det sat ind i test.php og der er rettet lidt, da du ikke har PHP5, men PHP4 derfor fik du den fejl:

test.php
--------------------
<?php
extract($_GET);
$type = ( !empty( $_GET['type'] ) ? basename( $_GET['type'] ) : '' );
include("../data/template1.txt");

include("../data/template2.txt");
?>


<?php
include("../data/template3.txt");

echo "<img src=\"../images/header-" . $type . ".jpg\">";
?>

<?php
include("../data/template4.txt");

?>
<center>
<?php

$sogefter = $_REQUEST['type'];
$fundet = false;

$fd = fopen ("note.txt", "r");  // Åbner filen note.txt
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);  // Henter indholdet af note.txt
  if (strripos($buffer,$sogefter)===false&&(!$fundet))
  {
    // Gør ingenting
  }
  else
  {
    if (strripos($buffer,':')===false&&$buffer!='')  // Tilføj til array når der ikke er : i teksten
    $tekstderskalbruges[] = $buffer;
    if (!$fundet)
      $fundet=true; // Start valgte punkt
    else if (strripos($buffer,':'))
      $fundet=false; // Stop ved næste beskrivelse der har : i teksten
  }
}
fclose ($fd); // Lukker filen note.txt


$images = array();

//Temp arrays
$dates = array();
$names = array();


foreach (glob(getcwd() . "/" . $type . "{*.jpg,*.JPG,*.jpeg,*.JPEG}", GLOB_BRACE) as $image)
{
    $filename = basename($image);
    if(preg_match('/(.+?)-(.+?)-(\\d{2})_(\\d{2})_(\\d{2})\\.jpe?g/', $filename, $match))
    {
        $images[] = array('date' => mktime(0, 0, 0, $match[4], $match[3], '20'.$match[5]),'name' => $match[1], 'title' => $match[2], 'file' => $filename);
    }
}

// Obtain a list of columns
foreach ($images as $key => $image)
{
    $dates[$key] = $image['date'];
    $names[$key] = $image['name'];
}

array_multisort($dates, SORT_INC, $names, SORT_ASC, $images);

foreach ($images as $image)
{
    if($image['date'] >= time())
    {
        echo '<table>';
        echo '<tr><td>';
        echo $tekstderskalbruges[0];
        echo '</td><td>';
        echo '<tr><td>';
        echo '<img src="'.$image['file'].'" title="'.$image['title'].'" />'];
        echo '</td><td>';
        echo '<tr><td>';
        echo $tekstderskalbruges[1];
        echo '</td><td>';
        echo '</table>';
        echo '<br />';
    }
}

?>
</center>

<?php
include("../data/template5.txt");
?>
Avatar billede danishmale Nybegynder
09. marts 2007 - 22:48 #7
Hvis du har problemer med denne linie $sogefter = $_REQUEST['type']; så skriv den sådan her $sogefter = $type
Avatar billede kodak Mester
09. marts 2007 - 23:02 #8
Jaa du kan jo selv se resultatet.
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:07 #9
Hov fik sat den forkerte version ind :-D

Her er PHP4 versionen:



$sogefter = 'torsdag'; //$_REQUEST['type'];
$fundet = false;

$fd = fopen ("note.txt", "r");  // Åbner filen note.txt
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);  // Henter indholdet af note.txt
  if (strstr($buffer,$sogefter)===false&&(!$fundet))
  {
    // Gør ingenting
  }
  else
  {
    if (strstr($buffer,':')===false&&$buffer!='')  // Tilføj til array når der ikke er : i teksten
    $tekstderskalbruges[] = $buffer;
    if (!$fundet)
      $fundet=true; // Start valgte punkt
    else if (strstr($buffer,':'))
      $fundet=false; // Stop ved næste beskrivelse der har : i teksten
  }
}
fclose ($fd); // Lukker filen note.txt
Avatar billede kodak Mester
09. marts 2007 - 23:11 #10
Skriver jeg: $sogefter = $_REQUEST['type'];, melder den: Parse error: syntax error, unexpected ']', expecting ',' or ';' in /hsphere/local/home/diskotek/diskotekglobe.dk/kom/3/1/test.php on line 81

Skriver jeg: $sogefter = $type;, melder den: Parse error: syntax error, unexpected ']', expecting ',' or ';' in /hsphere/local/home/diskotek/diskotekglobe.dk/kom/3/1/test.php on line 81

Skriver jeg: $sogefter = $type, melder den: Parse error: syntax error, unexpected T_VARIABLE in /hsphere/local/home/diskotek/diskotekglobe.dk/kom/3/1/test.php on line 24
Avatar billede kodak Mester
09. marts 2007 - 23:14 #11
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:17 #12
linie skal være enten

$sogefter = $_REQUEST['type'];

eller

$sogefter = $type;
Avatar billede kodak Mester
09. marts 2007 - 23:18 #13
$sogefter = 'torsdag'; //$_REQUEST['type'];
Hvad laver torsdag der?
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:19 #14
kun sat til test intet andet
Avatar billede kodak Mester
09. marts 2007 - 23:19 #15
Hope den vil ikke
Avatar billede kodak Mester
09. marts 2007 - 23:21 #16
Lige nu er $sogefter = $_REQUEST['type']; på og du kan selv se fejl.
Har prøvet med $sogefter = $type; & $sogefter = 'torsdag'; //$_REQUEST['type']; selv om der jo ikke er den store forskel
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:21 #17
lad mig lige se den kode :-S
Avatar billede kodak Mester
09. marts 2007 - 23:24 #18
<?php
extract($_GET);
$type = ( !empty( $_GET['type'] ) ? basename( $_GET['type'] ) : '' );
include("../data/template1.txt");

include("../data/template2.txt");
?>


<?php
include("../data/template3.txt");

echo "<img src=\"../images/header-" . $type . ".jpg\">";
?>

<?php
include("../data/template4.txt");

?>
<center>
<?php

$sogefter = $_REQUEST['type'];
$fundet = false;

$fd = fopen ("note.txt", "r");  // Åbner filen note.txt
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);  // Henter indholdet af note.txt
  if (strstr($buffer,$sogefter)===false&&(!$fundet))
  {
    // Gør ingenting
  }
  else
  {
    if (strstr($buffer,':')===false&&$buffer!='')  // Tilføj til array når der ikke er : i teksten
    $tekstderskalbruges[] = $buffer;
    if (!$fundet)
      $fundet=true; // Start valgte punkt
    else if (strstr($buffer,':'))
      $fundet=false; // Stop ved næste beskrivelse der har : i teksten
  }
}
fclose ($fd); // Lukker filen note.txt


$images = array();

//Temp arrays
$dates = array();
$names = array();


foreach (glob(getcwd() . "/" . $type . "{*.jpg,*.JPG,*.jpeg,*.JPEG}", GLOB_BRACE) as $image)
{
    $filename = basename($image);
    if(preg_match('/(.+?)-(.+?)-(\\d{2})_(\\d{2})_(\\d{2})\\.jpe?g/', $filename, $match))
    {
        $images[] = array('date' => mktime(0, 0, 0, $match[4], $match[3], '20'.$match[5]),'name' => $match[1], 'title' => $match[2], 'file' => $filename);
    }
}

// Obtain a list of columns
foreach ($images as $key => $image)
{
    $dates[$key] = $image['date'];
    $names[$key] = $image['name'];
}

array_multisort($dates, SORT_INC, $names, SORT_ASC, $images);

foreach ($images as $image)
{
    if($image['date'] >= time())
    {
        echo '<table>';
        echo '<tr><td>';
        echo $tekstderskalbruges[0];
        echo '</td><td>';
        echo '<tr><td>';
        echo '<img src="'.$image['file'].'" title="'.$image['title'].'" />'];
        echo '</td><td>';
        echo '<tr><td>';
        echo $tekstderskalbruges[1];
        echo '</td><td>';
        echo '</table>';
        echo '<br />';
    }
}

?>
</center>

<?php
include("../data/template5.txt");
?>
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:25 #19
Denne version udnytter den $type du laver først i din test.php:

$fundet = false;
$fd = fopen ("note.txt", "r");  // Åbner filen note.txt
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);  // Henter indholdet af note.txt
  if (strstr($buffer,$type)===false&&(!$fundet))
  {
    // Gør ingenting
  }
  else
  {
    if (strstr($buffer,':')===false&&$buffer!='')  // Tilføj til array når der ikke er : i teksten
    $tekstderskalbruges[] = $buffer;
    if (!$fundet)
      $fundet=true; // Start valgte punkt
    else if (strstr($buffer,':'))
      $fundet=false; // Stop ved næste beskrivelse der har : i teksten
  }
}
fclose ($fd); // Lukker filen note.txt
Avatar billede kodak Mester
09. marts 2007 - 23:28 #20
den vil ik
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:31 #21
Jeg kan så fortælle dig at fejl ligger ikke i den koden jeg har lavet *GG* men i denne her:        echo '<img src="'.$image['file'].'" title="'.$image['title'].'" />'];

Linie 81 ;-)

den skal være
  echo '<img src="'.$image['file'].'" title="'.$image['title'].'" />';
Avatar billede kodak Mester
09. marts 2007 - 23:35 #22
koden ser nu således ud, og den vil stadig ik:

<?php
extract($_GET);
$type = ( !empty( $_GET['type'] ) ? basename( $_GET['type'] ) : '' );
include("../data/template1.txt");

include("../data/template2.txt");
?>


<?php
include("../data/template3.txt");

echo "<img src=\"../images/header-" . $type . ".jpg\">";
?>

<?php
include("../data/template4.txt");

?>
<center>
<?php

$fundet = false;
$fd = fopen ("note.txt", "r");  // Åbner filen note.txt
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);  // Henter indholdet af note.txt
  if (strstr($buffer,$type)===false&&(!$fundet))
  {
    // Gør ingenting
  }
  else
  {
    if (strstr($buffer,':')===false&&$buffer!='')  // Tilføj til array når der ikke er : i teksten
    $tekstderskalbruges[] = $buffer;
    if (!$fundet)
      $fundet=true; // Start valgte punkt
    else if (strstr($buffer,':'))
      $fundet=false; // Stop ved næste beskrivelse der har : i teksten
  }
}
fclose ($fd); // Lukker filen note.txt


$images = array();

//Temp arrays
$dates = array();
$names = array();


foreach (glob(getcwd() . "/" . $type . "{*.jpg,*.JPG,*.jpeg,*.JPEG}", GLOB_BRACE) as $image)
{
    $filename = basename($image);
    if(preg_match('/(.+?)-(.+?)-(\\d{2})_(\\d{2})_(\\d{2})\\.jpe?g/', $filename, $match))
    {
        $images[] = array('date' => mktime(0, 0, 0, $match[4], $match[3], '20'.$match[5]),'name' => $match[1], 'title' => $match[2], 'file' => $filename);
    }
}

// Obtain a list of columns
foreach ($images as $key => $image)
{
    $dates[$key] = $image['date'];
    $names[$key] = $image['name'];
}

array_multisort($dates, SORT_INC, $names, SORT_ASC, $images);

foreach ($images as $image)
{
    if($image['date'] >= time())
    {
        echo '<table>';
        echo '<tr><td>';
        echo $tekstderskalbruges[0];
        echo '</td><td>';
        echo '<tr><td>';
        <img src="'.$image['file'].'" title="'.$image['title'].'" />';
        echo '</td><td>';
        echo '<tr><td>';
        echo $tekstderskalbruges[1];
        echo '</td><td>';
        echo '</table>';
        echo '<br />';
    }
}

?>
</center>

<?php
include("../data/template5.txt");
?>
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:38 #23
du mangler en echoden skal være


echo '<img src="'.$image['file'].'" title="'.$image['title'].'" />';

IKKE

<img src="'.$image['file'].'" title="'.$image['title'].'" />';
Avatar billede kodak Mester
09. marts 2007 - 23:40 #24
Min fejl fik den nu
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:41 #25
Det var godt :-D
Avatar billede kodak Mester
09. marts 2007 - 23:41 #26
Resultat: http://diskotekglobe.dk/kom/3/
Hvordan undgår jeg så at den gentager sig i næste ark?
Avatar billede kodak Mester
09. marts 2007 - 23:42 #27
Kan du ikke lige hurtig hjælpe mig med det sidste selv om du har fået point?
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:43 #28
ved at køre indlæsning af det du skal bruge fra filen igen for hver ændring :-)
Avatar billede kodak Mester
09. marts 2007 - 23:43 #29
At den eksempel vis søger et $tekstderskalbruges[2]; tekst i stedet for at skrive $tekstderskalbruges[0];
Avatar billede kodak Mester
09. marts 2007 - 23:52 #30
Over første billede bruger den $tekstderskalbruges[0];
Under første billede bruger den $tekstderskalbruges[1];

Over andet billedeburte den bruge $tekstderskalbruges[2]; i stedet for $tekstderskalbruges[0];
Over andet billedeburte den bruge $tekstderskalbruges[3]; i stedet for $tekstderskalbruges[1];

o.s.v.
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:52 #31
Brug denne indlæsning:


$fundet = false;
$fd = fopen ("note.txt", "r");  // Åbner filen note.txt
while (!feof ($fd))
{
  $buffer = fgets($fd, 4096);  // Henter indholdet af note.txt
    if (strstr($buffer,':')===false&&$buffer!='')  // Tilføj til array når der ikke er : i teksten
    $tekstderskalbruges[] = $buffer;
    if (!$fundet)
      $fundet=true; // Start valgte punkt
    else if (strstr($buffer,':'))
      $fundet=false; // Stop ved næste beskrivelse der har : i teksten
}
fclose ($fd); // Lukker filen note.txt


og lav din note.txt således:


velkommen:
Linie 1 i velkommen
Linie 2 i velkommen
torsdag:
Linie 1 i torsdag
Linie 2 i torsdag


så kan du bruge

echo $tekstderskalbruges[0];  // billede 1
echo $tekstderskalbruges[1];  // billede 1

echo $tekstderskalbruges[2];  // billede 2
echo $tekstderskalbruges[3];  // billede 2
Avatar billede kodak Mester
09. marts 2007 - 23:55 #32
Jeg kan ikke stye om billede 2 er der eller ej derfor skal den gøre det pr auto
Avatar billede kodak Mester
09. marts 2007 - 23:56 #33
Jeg må desvære smutte skal på arbejde.
Avatar billede danishmale Nybegynder
09. marts 2007 - 23:56 #34
så må du lave regler for udvælgelsen af teksten da 0 og 1 er f.eks lig med weekend og 2 og 3 er lig med mandag osv
Avatar billede kodak Mester
09. marts 2007 - 23:59 #35
Det jeg mener er bare at det ser lidt dumt ud af teksten kommer dobbelt så hellere en ny tekst til hver billede
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester