Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
[PHP] Jak losowo wyświetlać link z pliku txt? - Wersja do druku

+- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com)
+-- Dział: Off-Topic (/Forum-Off-Topic-9)
+--- Dział: Programowanie (/Forum-Programowanie-364)
+--- Wątek: [PHP] Jak losowo wyświetlać link z pliku txt? (/Temat-PHP-Jak-losowo-wyswietlac-link-z-pliku-txt-170698)



[PHP] Jak losowo wyświetlać link z pliku txt? - cezar78 - 11-02-2021 18:54

Ktoś z was może ogarnia php i powie mi jak losowo na stronie wyświetlać klikalny link tak żeby przy każdym wejściu na nią był randomowo pobierany z pliku txt. Plik tekstowy będzie zawierał linki w jednej kolumnie:

http://domena1.com
http://domena2.com
http://domena3.com
itd..

Plik txt będzie duży ok 5k-10k linków


RE: [PHP] Jak losowo wyświetlać link z pliku txt? - Micchaleq - 11-02-2021 19:03

Można np. tak

Kod PHP:
function getRandomLine($filename) { 
    
$lines file($filename) ; 
    return 
$lines[array_rand($lines)] ; 


Dodam jedynie, że nie jest to idealne rozwiązanie, bo cały plik ładuje się do pamięci. Zatem jeżeli ten plik nie jest duży (tak do 1000-2000 linii) to jest ok, ale jak więcej to lipa. Trzeba by kombinować z while i ewentualnie wstępnie oszacować ilość linków.


RE: [PHP] Jak losowo wyświetlać link z pliku txt? - nSo - 11-02-2021 19:10

Proszę bardzo. Źle zrozumiałem, ale kolega już pomógł.

Kod:
<?php
    $mojPlik = "linki.txt";
    $linki= file($mojPlik);

    $Numer = 1;
    foreach($linki as $link)
    {
    ?>
    <a href="<?php echo $link;?>">Link numer <?php echo $Numer; ?></a>
    <?
    $Numer ++;
    }
    ?>
?>



RE: [PHP] Jak losowo wyświetlać link z pliku txt? - cezar78 - 11-02-2021 20:56

Dzięki chłopaki, rep poleciał, ale ten drugi kod mi nie działa, nic sie nie pojawia. A w pierwszej wersji nie ma odwołania do pliku txt i nie wiem gdzie go wstawić, no i nie wiem gdzie i jak dodać a href

Zrobiłem takie coś:

<?php
$f_contents = file("linki.txt");
$line = $f_contents[array_rand($f_contents)];
$data = $line;
echo "<a href='$data'>LINK</a>";
?>

Ale wyświetla mi link do mojego bloga zamiast pobierać linki z linki.txt
Plik umieściłem w tym samym katalogu gdzie jest sidebar.php w którym powyższy kod wstawiam


RE: [PHP] Jak losowo wyświetlać link z pliku txt? - nSo - 14-02-2021 09:43

@cezar78
Musisz umieścić plik TXT z linkami w głównym katalogu, jeżeli plik sidebar.php jest includowany do index...


RE: [PHP] Jak losowo wyświetlać link z pliku txt? - cezar78 - 18-02-2021 15:52

I tak nie działa. Wyświetla mi link mojego bloga, zamiast jakiś losowy z listy. Dziwne


RE: [PHP] Jak losowo wyświetlać link z pliku txt? - nSo - 18-02-2021 18:28

Najwidoczniej podajesz błędną lokalizacje pliki txt


RE: [PHP] Jak losowo wyświetlać link z pliku txt? - cezar78 - 18-02-2021 21:52

Działa! Dzięki. Jestem tylko ciekawy czy jak wrzuce plik z 50k linków to czy nie zmuli się strona albo czy nie będzie 100% użycia procesora na serwerze.


RE: [PHP] Jak losowo wyświetlać link z pliku txt? - chmiel2001 - 19-02-2021 12:25

Przy takiej ilości nie lepiej tablice zrobić szybciutko i ładować losowy rekord?