Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] dodawanie linków na okresony czas
Forum PHP.pl > Forum > Przedszkole
fuqs
Chcialbym napisac skrypt do linkow w stopce oparty na pliku txt, ktory umozliwialby dodawanie linkow na okreslony czas, wszyscy mowia ze to bardzo proste, ale ja nie wiem jak sie za to zabrac, moze by ktos pomogl mi? bardzo prosze...
MMX3
1. poczytaj manual o kożystaniu z plików fopen(), fread(), flock(), fwrite(), fclose()
2. poczytaj manual o explode(), implode()
3. poczytaj manual o date(), time()


trzymasz linki w pliku
3 pola np:
link|url|time\n

napisz sobie skrypt co dodaje linie do takiego pliku np z formularza.

przy odpaleniu czytasz wszystkie linie do tablicy
np.
$linki[0][0] = link
$linki[0][1] = url
$linki[0][2] = time

robisz to funkcją fread(), a rozdzielasz explode()
sprawdzasz czy link nie jest przeterminowany jak tak to usuwasz go z tablicy
i potem wyświetlasz tablice na stronie oraz zapisujesz zmodyfikowaną tablice do pliku.


Chyba tyle
fuqs
Dzieki:)

Ok mam takie cos, powinno zapisywac od pliku nazwe,adres i date wygasniecia, i nastepnie tworzyc z tego linki, tylko co z tą data...?

Cytat
<?php
$link = trim($_POST['link']);
$adres = trim($_POST['adres']);
$data = trim($_POST['data']);
?>

<FORM action="" method="post">
<TABLE>
<TR>
<TD>Nazwa linka:</TD>
<TD><INPUT name="link"></TD>
</TR>
<TR>
<TD>Adres:</TD>
<TD><INPUT name="adres"></TD>
</TR>
<TR>
<TD>Data:</TD>
<TD><INPUT name="data"></TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD><INPUT type="submit" value="Dodaj"></TD>
</TR>
</TABLE>
</FORM>

<?php


$dane = $link."|".$adres."|".$data."\n";

$file = "linki.txt";
$fp = fopen($file, "a");
flock($fp, 2);

fwrite($fp, $dane);

flock($fp, 3);
fclose($fp);
?>


odczyt - i wlasnie tu nie wiem co zrobic z data w formacie 19.04.2008 ? jak usunac z tablicy rekord jesli link jest przeterminowany?

Cytat
<?php
$plik = "linki.txt";
$dane = file($plik);

for($i=0;$i<count($dane);$i++) {
list($link[$i], $adres[$i], $data[$i]) = explode("|", $dane[$i]);
}

for($i=0;$i<count($link);$i++)
echo "<a href=\"".$adres[$i]."\">".$link[$i]."</a> ";
?>


zapis dziala chyba dobrze , ale co dalej?

Cytat
<?php

$plik = "linki.txt";

$dane = file($plik);



for($i=0;$i<count($dane);$i++) {

list($link[$i], $adres[$i], $data[$i]) = explode("|", $dane[$i]);

$kek= strtotime ($data[$i]);
if (date("Y-m-d")==date("Y-m-d",$kek))
{
unset($dane[$i]);
}
else {
}
}

for($i=0;$i<count($link);$i++)
echo "<a href=\"".$adres[$i]."\">".$link[$i]."</a> ";
?>




zmodyfikowalem tak , ale to dziala tlyko jak jest jeden wiersz w tablicy, tzn. jak dodam wiecej linkow to dziala to tak, ze nie wyswietla tylko najnowszego a wszystkie inne tak nie patrzac na date ;/

ok dziala mi dzieki zap omoc winksmiley.jpg

  1. <?php
  2. $plik = "linki.txt";
  3. $dane = file($plik);
  4.  
  5. for($i=0;$i<count($dane);$i++) {
  6. list($link[$i], $adres[$i], $data[$i]) = explode("|", $dane[$i]);
  7. $kek= strtotime ($data[$i]);
  8. if (date("Y-m-d")==date("Y-m-d",$kek)) 
  9. {
  10. unset($dane[$i]);
  11. $temp=array_unique($dane);
  12. $dane=array_values($temp);
  13. $i--;
  14. }
  15. else {
  16. $nowyplik= $nowyplik.$link[$i]."|".$adres[$i]."|".$data[$i]."\n";
  17. $temp=array_unique($dane);
  18. $dane=array_values($temp);
  19. }
  20. }
  21.  
  22.  
  23. for($i=0;$i<count($dane);$i++)
  24.  echo "<a href=\"".$adres[$i]."\">".$link[$i]."</a> ";
  25.  $fp = fopen($plik, "w"); 
  26. flock($fp, 2);
  27. fwrite($fp, $nowyplik); 
  28. ?>


pomoze ktos? worriedsmiley.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.