Skocz do zawartości

Losowanie danej zawartości na stronie co pewien czas


zecke
 Udostępnij

Rekomendowane odpowiedzi

Cześć

Ja tutaj zaglądam jak potrzebuję porady programistów - jak zawsze po prośbie. Mam prosty skrypt:

<?php
$random = array(
'
<a href="index.html">Link 1</a>
',
'
<a href="index.html">Link 2</a>
',
'
<a href="index.html">Link 3</a>
',
'
<a href="index.html">Link 4</a>
'
);shuffle($random);$x = 0; while($x <= 0){$x++;echo $codd = $random[$x];}?>

Skrypt ten losuje mi dany link na stronie i zmienia go po każdym odświeżeniu strony.

Prośba o pomoc: chcę, aby ten skrypt (lub jakiś inny) zmieniał mi link ale nie po przeładowaniu strony tylko np raz na tydzień. Idealną opcją było by gdyby robił to po kolei, choć może zostać random.

Dzięki za pomoc i wszystkiego dobrego w Nowym Roku - nie dajcie się propagandzie kryzysowej :) !

Odnośnik do komentarza
Udostępnij na innych stronach

Musisz zaimplementować taką funkcjonalność która wygeneruje ci plik wstawki z linkami i go zapisze. Następnie sprawdzając czas modyfikacji i jeśli zostanie przekroczony o określoną wartość pliku wykona wylosowanie nowych danych i zapisze nowe dane w tym pliku.

Niezbędne funkcje to:

https://php.net/manual/en/function.filemtime.php

https://php.net/manual/en/function.rename.php

https://php.net/manual/en/function.file-put-contents.php | https://php.net/manual/en/function.fopen.php

Samo wstawianie linków funkcją include lub:

https://php.net/manual/en/function.file-get-contents.php

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel

Odnośnik do komentarza
Udostępnij na innych stronach

Zazwyczaj jestem niechętny do pisania za kogoś kodu i dawaniu mu przysłowiowej ryby, dam natomiast wędkę. Ustal początkową datę za pomocą funkcji date(). Następnie możesz ją też przekonwertować za pomocą funkcji strtotime(). Teraz to już z górki. Robisz if'y dla strtotime + 1 week + 2 week itp i w zależności od tego wyświetlasz link. Pokaż jak pracujesz na kodzie to będziemy pomagać dalej.

Odnośnik do komentarza
Udostępnij na innych stronach

Ustal początkową datę za pomocą funkcji date(). Następnie możesz ją też przekonwertować za pomocą funkcji strtotime().
Pewnie najlepiej wykonaj jeszcze kilka zbędnych funkcji :crazy:

Funkcja https://php.net/manual/en/function.filemtime.php

zwraca to co potrzebujesz "Returns the time the file was last modified, or FALSE on failure. The time is returned as a Unix timestamp, which is suitable for the date() function."

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel

Odnośnik do komentarza
Udostępnij na innych stronach

Ustal początkową datę za pomocą funkcji date(). Następnie możesz ją też przekonwertować za pomocą funkcji strtotime().
Pewnie najlepiej wykonaj jeszcze kilka zbędnych funkcji :crazy:

Funkcja https://php.net/manua...n.filemtime.php

zwraca to co potrzebujesz "Returns the time the file was last modified, or FALSE on failure. The time is returned as a Unix timestamp, which is suitable for the date() function."

Tak, tylko po edycji pliku zmieni się wartość zwracana przez filemtime()...

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, tylko po edycji pliku zmieni się wartość zwracana przez filemtime()...
Ale co z tego ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, tylko po edycji pliku zmieni się wartość zwracana przez filemtime()...
Ale co z tego ?

To z tego, że @zecke napisał: "zmieniał mi link ale nie po przeładowaniu strony tylko np raz na tydzień". Czyli jak zmodyfikuje plik po 6 dniach od jego utworzenia to ten sam link będzie się wyświetlał prze kolejnych 7 dni. W mojej metodzie linki będą się zmieniać co tydzień, niezależnie od tego kiedy był modyfikowany plik.

Odnośnik do komentarza
Udostępnij na innych stronach

Po co cytujesz całość ?

Jak chcesz udzielać porad z programowania najpierw się dwa razy zastanów.

Nie mam czasu na naukę PHP, ale zapoznaj się z funkcjami:

https://php.net/manual/en/function.filemtime.php < Tu była podana zła :)

oraz

https://pl1.php.net/m...nction.time.php

Jeśli nadal nie widzisz związku to cóż :nie_powiem:

Edytowane przez Mion

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel

Odnośnik do komentarza
Udostępnij na innych stronach

O kurcze gorąco się zrobiło, a pewnie zrobi się goręcej jak napiszę, że nie programuję i że liczyłem na gotowiec...

Ale rozumiem: za skrypt spełniający moje oczekiwania z 1 postu zapłacę 30 zł przez paypal. Myślałem, że będzie to mniej skomplikowane (tak się znam na programowaniu...)

Jakby co czekam na PW lub tu na forum

Odnośnik do komentarza
Udostępnij na innych stronach

@Mion, chyba nie zrozumiałeś problemu kolegi...

ha,ha zrozumiałem doskonale :)

Może to ci pomoże:

- generuje dane losowych linków

- dane te zapisuje do pliku tymczasowego

- jak już plik jest gotowy wykonuje funkcje rename zmieniając nazwę na plik który jest wstawiany = źródło wstawki linków; To zamiast blokad na pliku docelowym.

- plik z chwilą zmiany zawartości otrzymuje nową dane modyfikacji jako unixowu znacznik czasu. Funkcja time() z wraca uniksowy znacznik czasu... Wiec wystercza dodać do jednej z tych wartości interwał w sekundach = czas ważności wstawki itd...

Ale rozumiem: za skrypt spełniający moje oczekiwania z 1 postu zapłacę 30 zł przez paypal.

Nie skomentuje tego :) Może Kolega msurma Ci napisze gotowca ....

---------

Później nie ten link wkleiłem oczywiście chodzi o funkcję: https://php.net/manua...n.filemtime.php

Ale od samego początku był do prawidłowej funkcji: https://www.forum.optymalizacja.com/topic/169090-losowanie-danej-zawartosci-na-stronie-co-pewien-czas/#entry1163914

Edytowane przez Mion

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel

Odnośnik do komentarza
Udostępnij na innych stronach

- generuje dane losowych linków

Tego nie napisałeś wcześniej... więc skończ to zbędne pier...

W każdym języku programowania, jeżeli znasz jakieś inne :) każdy problem można rozwiązać na kilka sposobów i w tym momencie przyznaję ci rację, że twoje tez jest poprawne ale nie jedyne!

Odnośnik do komentarza
Udostępnij na innych stronach

- generuje dane losowych linków

Tego nie napisałeś wcześniej... więc skończ to zbędne pier...

Chyba to jest oczywiste.
. więc skończ to zbędne pier...

Podaruj sobie takie teksty, bo mówiąc wprost za cienki na to jesteś.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności