Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] pomysł na prywatny systerm wymiany linków
Taifun
post
Post #1





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


Witam.
Losowanie wybranych linków czy tekstu na stronach jest proste.
Ale jak "przytwierdzić" dany element na stałe do danej strony?
Jakieś pomysły?
Go to the top of the page
+Quote Post
b_chmura
post
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


oświeć ciemniaka - nie rozumiem
Go to the top of the page
+Quote Post
Taifun
post
Post #3





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


  1. <?php
  2. $textfile ="quotes.txt";
  3. $quotes = file("$textfile");
  4. $quote = rand(0, sizeof($quotes)-1);
  5. echo $quotes[$quote];
  6. ?>

Jak teraz zrobić aby losowanie odbywało się co 24 godziny ?
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




CRON - wpisz w google, a to zobaczysz.
Go to the top of the page
+Quote Post
b_chmura
post
Post #5





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


ewentualnie jeśli masz duży ruch na stronie a nie masz crona:

  1. <?php
  2. $plik = 'aktualnylink.txt'; //plik w którym będziesz trzymać który link ma zostać teraz wyświetlony
  3. $text ="quotes.txt"; //twój plik z linkami
  4. $dane = file($text); //otwieramy plik do tablicy 
  5. $cnt = count($dane);//liczymy ile jest linków (zakładam ze każdy link jest w nowej lini)
  6.  
  7. $akt = date("H"); //pobieramy aktualną godzinę
  8. $od = "14"; $do = "15" //wyznaczamy przedział czasu w jakim ma sie wykonać skrypt 
  9.  
  10. if($akt > $od and $akt < $do) //sprawdzamy czy aktualny czas mieści sie w przedziale przez nas wyznaczonym
  11. {//jeśli tak
  12. $nr = rand(0, $cnt); // wyznaczamy nowy numerek
  13. file_put_contents($nr, $plik);//zapisujemy numerek do pliku (jakoś musimy go pamiętać
  14. }
  15. else
  16. {//jeśli nie
  17. $nr = file_get_contents($plik); //pobieramy stary numerek
  18. }
  19.  
  20. echo $quotes[$nr]; //wyświetlamy link (linie) o numerku $nr
  21. ?>



taka idea sobie ;-) pisane z palca, możliwe literówki

Edit:

trochę źle to pomyślałem , zaraz spróbuje napisać coś konkretniejszego

Ten post edytował b_chmura 10.11.2007, 12:46:29
Go to the top of the page
+Quote Post
Taifun
post
Post #6





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


W ogole jak działają wasze prywatne systemy wymiany linków do zwiększenia np. ilości zaindeksowanych podstron?
Go to the top of the page
+Quote Post
b_chmura
post
Post #7





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


  1. <?php
  2.  
  3. $plik = "plik.txt";
  4. $file = file($plik);
  5. $cnt = count($file);
  6.  
  7. $akt = date("Hs");
  8. /* poniżej wyznaczamy czas w którym będzie trwać losowanie
  9.  * ja dałem na piętnaście sekund od godziny 12
  10.  * jeśli masz duży ruch zmniejsz ten czas
  11.  * jeśli masz mały ruch zwiększ go
  12.  */
  13. $od = 1200; $do = 1215; //ggss
  14. if($akt > $od AND $akt < $do)
  15. {
  16. $nr = rand(1, $cnt-1); 
  17. $file[0] = $nr."\n";
  18. file_put_contents($plik, $file);
  19. }
  20. else
  21. {
  22. $nr = $file[0];
  23. }
  24.  
  25. echo $file[$nr];
  26.  
  27. ?>


plik plik.txt z chmod ustawionym na 666

Edit:
i jeszcze: plik plik.txt ma wyglądać coś w sposób:
Kod
0
http://google.pl
http://wp.pl
http://interia.pl
http://youtube.com

po prostu w pierwszej linijce jest zapamiętywany numer linku a w kolejnych linijkach kolejne strony www

Ten post edytował b_chmura 10.11.2007, 23:55:07
Go to the top of the page
+Quote Post
Taifun
post
Post #8





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


na Windowsie nie działa twój kod.
Go to the top of the page
+Quote Post
b_chmura
post
Post #9





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Cytat(Taifun @ 11.11.2007, 18:42:29 ) *
na Windowsie nie działa twój kod.


za dużo mi to nie mówi, pojawiają sie jakieś błędy? jaką masz wersje php?
spróbuj file_put_contents zmienić na:

  1. <?php
  2. if(is_writable($plik))
  3. {
  4. if($fopen = fopen($plik, 'a')) 
  5. {
  6. if(fwrite($fopen, $file) === FALSE)
  7. {
  8. echo "Nie mogę zapisać do pliku <b>$plik</b>";
  9. }
  10. fclose($fopen);
  11. }
  12. else
  13. {
  14. echo "Nie mogę otworzyć pliku <b>$plik</b>";
  15. }
  16. }
  17. else
  18. {
  19. echo "Plik <b>$plik</b> nie jest zapisywalny";
  20. }
  21. ?>


EDIT
fuck zapomniałem ze $file to tablica, odpowiedz na powyższe pytania, jeśli problem tkwi w file_put_contents to napiszemy jego odpowiednik

Ten post edytował b_chmura 11.11.2007, 22:09:12
Go to the top of the page
+Quote Post
Taifun
post
Post #10





Grupa: Zarejestrowani
Postów: 222
Pomógł: 2
Dołączył: 10.07.2007

Ostrzeżenie: (10%)
X----


pusta strona się wyświetla. Robiłem to też na linuxpl.com i to samo.
@edit
prosiłbym o odpowiednik.
Cytat
Call to undefined function: file_put_contents()


Ten post edytował Taifun 15.11.2007, 12:10:50
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.09.2025 - 16:53