• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Generowanie plików z nazwami z tablicy

0 głosów
360 wizyt
pytanie zadane 8 sierpnia 2017 w PHP przez rakito Nowicjusz (140 p.)

Witam. 

Chcę stworzyć skrypt, który pobrany tekst, podzieli na kilka (zależy ile mu zadeklaruję) stringów składających się z 3 słów. Więc pobieram tekst i dzielę na słowa po czym zapisuję do tabeli: 
 

$pobranytekst = fread(fopen("tekst.txt", "r"), filesize("tekst.txt"));
$podziel = preg_split( '/[?!.",;: ]+/', $pobranytekst); 

$podstrony = array();
for ($i = 1; $i <= $_SESSION['ilepodstron']; $i++)
					{
					$slowo = rand(0,$ile_slow);
					$podstrona = $podziel[$slowo]." ";
					$slowo++;
					$podstrona .= $podziel[$slowo]." ";
					$slowo++;
					$podstrona .= $podziel[$slowo];
					$podstrona = str_ireplace(array(" ", "ą", "ś", "ć", "ń", "ę", "ó", "ł", "ż", "ź", "?", "\", ",""), array("-", "a", "s", "c", "n", "e", "o", "l", "z", "z", "-", "", ""), mb_strtolower($podstrona, "UTF-8"));
					array_push($podstrony, $podstrona); //dodanie do tablicy wygenerpowanych nazw
					}


I teraz chcę, by na podstawie tego, tyle ile jest wyników w tablicy, tyle stworzył plików z ich nazwami:

 

for ($k = 1; $k <= $ile_rekordow; $k++)
					{
					$nazwapliku = "strona/".$podstrony[$k].".html";
					fopen($nazwapliku, 'x+');
					}


Niestety, robi mi o 1 wynik mniej, ostatni plik nazywa dosłownie ".html" . Zmniejszenie $k na 0 daje ten sam efekt.
Co jest nie tak?

komentarz 8 sierpnia 2017 przez efiku Szeryf (75,160 p.)

..surprise..

komentarz 8 sierpnia 2017 przez HaKIM Szeryf (87,590 p.)

..surprise..

Well, to akurat normalne jak się nie czyta rozdziału o pętlach w dokumentacji od deski do deski (Z tego co pamiętam to coś podobnego kiedyś zrobiłem). cheeky

komentarz 8 sierpnia 2017 przez CzikaCarry Szeryf (75,340 p.)

Z kolei ja kiedyś znajomemu przez teamSpeaka tłumaczyłem podstawy OOP korzystając z online live painta aby "to zobrazować". Po kilku godzinach udało się coś tam wytłumaczyć. 2 dni później próbował odwoływać się do prywatnej metody statycznej w środku swojej klasy poprzez classname::method() zamiast self::method() i dziwił się że coś nie trybi laugh

Widocznie słaby ze mnie nauczyciel devil

1 odpowiedź

+1 głos
odpowiedź 8 sierpnia 2017 przez CzikaCarry Szeryf (75,340 p.)

Istnieje w PHP coś takiego jak foreach, wtedy nie musisz liczyć rekordów.

foreach($podstrony as $podstrona)
                    {
                    $nazwapliku = "strona/".$podstrona.".html";
                    fopen($nazwapliku, 'x+');
                    }

 

komentarz 8 sierpnia 2017 przez rakito Nowicjusz (140 p.)
Dzięki!
komentarz 8 sierpnia 2017 przez CzikaCarry Szeryf (75,340 p.)
Proszę :D

Podobne pytania

0 głosów
1 odpowiedź 804 wizyt
+1 głos
2 odpowiedzi 300 wizyt
+1 głos
1 odpowiedź 1,909 wizyt
pytanie zadane 11 lutego 2022 w OpenGL, Unity przez BarSki13 Obywatel (1,270 p.)

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,329 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...