Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zwiększanie wartości w tablicy zawartej w pliku tekstowym.
Forum PHP.pl > Forum > PHP
ano
Mam plik dane.txt o takiej treści:
4||Wrocław||Wroc
3||Gdańsk||Gda
42||Kraków||Krak
I nie wiem jak zrobić, żeby po wywołaniu skryptu zwiększał on np. w drugiej linijce wartość 3. Wiem, że trzeba to jakoś zrobić z funkcją explode, ale nie wiem jak :-(.
Pomocy!!!!!!
Jabol
[php:1:fea3148687]<?php
$_2linia=exlpode('||', ($dane=file('path/file')));
$_2linia[0]++;
$dane[1]=implode('||', $_2linia);
file_put_contents('path/file', implode('', $dane));//to działa jak tryb w, czy jak np. w+?
?>[/php:1:fea3148687]
Grzesiek
Można to zrobić tak:
[php:1:2126c7d1a6]
$plik=file(dane.txt); // zapisuje dane w tablicy
for($i=0; $i<count($plik); $i++) {
list($id, $miasto, $skrot_miasto) = explode("||", $linia[$i]);
if($id==//coś tam dalej
[/php:1:2126c7d1a6]
Jeżeli chcesz to potem, zapisać do pliku to musisz go wyczyścić i jeszcze raz wpisać wszystkie wartości, które masz w tablicy.
[KaMeLeOn]: Proszę używać znaczników [php]...
ano
Jabol - Twój kod nie działa. Wyskakuje taki komunikat:
Fatal error: Call to undefined function: exlpode() in c:apachehtdocszapisz.php on line 2
rogeros
[php:1:0fa0d01964]<?php
$_2linia=explode('||', ($dane=file('path/file')));
?>[/php:1:0fa0d01964]

exlpode != explode biggrin.gif
rogeros
Masz gotowca.

[php:1:df7558512d]<?php
$ktora_linijke_zmienic="2";

$plik=file("dane.txt"); // otwierasz plik
$dane=explode("||",$plik[$ktora_linijke_zmienic]); // dzielisz linijke miedzy "||" czyli $dane[0]=3,$dane[1]=Gdańsk,$dane[2]=Gda
$dane[0]++; // powiekszasz liczbe o 1. w tym przypadku 3+1
$plik[$ktora_linijke_zmienic]=$dane[0]."||".$dane[1]."||".$dane[2]; // łączymy wszystko w jedna linijke.

$plik_zap=fopen("dane.txt","w"); //otwierasz plik dane.txt do zapisu
for($i=0;$i<count($plik);$i++){
fputs($plik_zap,$plik[$i]); //zapisujesz do pliku wszystkie linijki
}
fclose($plik_zap); // zamykasz plik. FINITO

?>[/php:1:df7558512d]
DeyV
file_get_contents i file_put_contents - ciekawe funkcje - i jeszce ich nie widziałem.... Ciekawe czemu winksmiley.jpg [pewnie dla tego => (php 4 >= 4.3.0) laugh.gif ]
scanner
Albo są dla PHP5 - Jabol chyba na takim właśnie siedzi.
Jabol
siedze na php5, ale staram sie podawać rozwiązania dla php4, którego wersje używam 4.3.1
DeyV
to który php to obłsuży, to już sprawa drugoplanowa. Problem jednak w tym, że funkcje te pojawiły się odpiero w najnowżych wersjjach dokumentacji - jestem niemal pewnien, że jeszcze w marzec - kwiecień w chm ich nie było sad.gif (Ciekawe ile takich cacek w ten sposób można przeoczyć.)
[fisher]
Cytat
Jabol - Twój kod nie działa. Wyskakuje taki komunikat:
Fatal error: Call to undefined function: exlpode() in c:apachehtdocszapisz.php on line 2

Gratuluje poczucia humoru ano
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.