Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] dodawanie linków na okresony czas
fuqs
post 18.02.2008, 16:21:58
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 13.08.2007

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
MMX3
post 18.02.2008, 16:35:34
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 9
Dołączył: 26.01.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
fuqs
post 19.02.2008, 16:41:41
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 13.08.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował fuqs 18.02.2008, 17:40:42
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:46