Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]funkcja rand i include
arturdob
post 9.09.2014, 18:28:12
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 28.07.2014

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


  1. <?php
  2.  
  3. $cytat[] = "cyt.txt";
  4. $cytat[] = "cyt1.txt";
  5. $cytat[] = "cyt2.txt";
  6.  
  7. include ("echo $cytat[rand(0, 2)]");
  8.  
  9. ?>

Witam wszystkich, coś namieszałem z include i nawiasami. Bez include wyświetla się tylko losowa nazwa pliku. Chcę wyświetlić losowy cytat, w tabeli mam nazwy plików z cytatem.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
lukasz_os
post 9.09.2014, 18:46:16
Post #2





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

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


echo w include na pewno nie pomoże smile.gif


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
Turson
post 9.09.2014, 18:46:35
Post #3





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Po co to echo tam?
Go to the top of the page
+Quote Post
arturdob
post 9.09.2014, 19:13:12
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 28.07.2014

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


  1. <?php
  2.  
  3. $cytat[] = "cyt.txt";
  4. $cytat[] = "cyt1.txt";
  5. $cytat[] = "cyt2.txt";
  6. $cytat[] = "cyt3.txt";
  7.  
  8.  
  9.  
  10. include ($cytat[rand(0,sizeof($cytat)-1)]);
  11.  
  12. ?>

czy tak jest ok? bo już działa.

  1. include ("$cytat[rand(0,sizeof($cytat)-1)]");

Jak dam zawartość w cudzysłów to nie działa.
Go to the top of the page
+Quote Post
lukasz_os
post 9.09.2014, 19:32:17
Post #5





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

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


Przecież w cudzysłowie ci się funkcje nie wykonają bo są traktowane jak string. Pierwszy przykład dobry tylko mnie zastanawia po co trzymasz cytaty w oddzielnych plikach jak możesz w jednym(każdy cytat w nowej linii), wczytać go poprzez fopen, zrobić tablicę z cytatami poprzez explode i na tej podstawie zrobić rand().


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post
arturdob
post 9.09.2014, 19:39:46
Post #6





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 28.07.2014

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


Fajnie by było zrobić tak jak mówisz, może z waszą pomocą mi się to uda. A co zrobić z długimi cytatami co maja kilka linijek i po nich jest odstęp 2 linijki na autora? Jak z pliku tekstowego zrobić taka bazę czym pooddzielać cytaty?
ok, mam cytaty w jednym pliku cytaty.txt, po każdym cytacie wstawiony separator \t czy \n nie wiem czy ma to jakieś znaczenie?
Teraz chcę sprawdzić czy otwiera się plik do odczytu, który przechowuje zmienna $rp (czy dobra ścieżka dostępu):
  1. <?php
  2.  
  3. $rp = fopen("cytaty.txt". 'r');
  4. echo $rp;
  5.  
  6. ?>

nie wyświetla zawartości pliku tylko bład sad.gif Dodałem odczyt z pliku nadal błąd sad.gif
  1. <?php
  2.  
  3. $rp = fopen("cytaty.txt". 'r');
  4. $cytaty = fgets($rp. 999);
  5. echo $cytaty;
  6.  
  7. ?>


Ten post edytował arturdob 10.09.2014, 10:12:14
Go to the top of the page
+Quote Post
nospor
post 10.09.2014, 13:10:34
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Błąd, potem znowu błąd.... No to musisz go naprawić i jeszcze raz naprawić.

A jeśli oczekujesz od nas pomocy, to pomysl tak przez chwilkę. Nie sądzisz, że wypadałoby by nam podać, jakiż to tajemniczy błąd dostajesz? Jeśli zaś to naprawdę jest tajemnica wagi państwowej, to sorki, nie to forum. ABW pod innym adresem.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
tzm
post 10.09.2014, 13:34:18
Post #8





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

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


  1. $rp = fopen("cytaty.txt", "r");
  2. $cytaty = fgets($rp, 9999);
Go to the top of the page
+Quote Post
arturdob
post 10.09.2014, 18:26:02
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 28.07.2014

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


Zamieniłem 2 kropki na przecinki i "r". Takie są błędy:

Warning: include(1test.php) [function.include]: failed to open stream: No such file or directory in /home/users/mareks/public_html/test2/index.php on line 23

Warning: include(1test.php) [function.include]: failed to open stream: No such file or directory in /home/users/mareks/public_html/test2/index.php on line 23

Warning: include() [function.include]: Failed opening '1test.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/users/mareks/public_html/test2/index.php on line 23

Ten post edytował arturdob 10.09.2014, 18:28:30
Go to the top of the page
+Quote Post
golabow
post 10.09.2014, 18:34:02
Post #10





Grupa: Zarejestrowani
Postów: 53
Pomógł: 17
Dołączył: 4.07.2014

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


sprawdź czy ścieżka do pliku jest poprawna, wygląda jakby nie widział pliku
Go to the top of the page
+Quote Post
arturdob
post 10.09.2014, 18:54:57
Post #11





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 28.07.2014

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


plik jest w tym samym katalogu więc nie podawałem ścieżki tylko tak jak jest. już nie ma błedu (nie zamieniłem jednej kropki na przecinek)wyświetla tekst tylko do znacznika i znacznik też wyswietla:
Jedyna godna rzecz na świecie: twórczość, A szczyt twórczości to tworzenie siebie. Leopold Staff \t
Jaką funkcją teraz zrobić tablicę, żeby z niej losować czy fgetcsv()?
Napisałem tak:
  1. <?php
  2.  
  3. $rp = fopen("cytaty.txt", "r");
  4. $cytaty = fgetcsv($rp, 9999, "\t");
  5.  
  6.  
  7. ?>

Nadal wyświetla mi pierwszy wiersz z \t
Jak sprawdzić czy funkcja utworzyła tablicę?
po dopisaniu na dole:
  1. sort($cytaty);
  2. print_r($cytaty);

Wyświetla nadal tylko 1cytat z \t

Ten post edytował arturdob 10.09.2014, 19:35:33
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: 6.07.2025 - 22:05