Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-02-08 14:34:46

  dawid77 - Użytkownik

dawid77
Użytkownik
Zarejestrowany: 2005-12-15

PHP - wyciąganie danych od - do

Witam mam taki problem odnosnie czytania znaków w php! Mianowicie otwieram jakiś plik tekstowy i z tym niema żadnego problemu tak jak z wyciąganiem danych od początku lini do końca. Tylko jak przypuszczalnie wyciągnąć cos z pliku zaczynając np od np 30 spacji?? Czyli podaje mu na sztywno od 30 do 45 albo do końca lini- tam są jakies dane i mi je wyciąga.I tak każdą linię:) Był bym wdzięczny za jakie kolwiek informacje:)


dawid

Offline

 

#2  2007-02-08 15:53:36

  raixer - Moderator

raixer
Moderator
Zarejestrowany: 2004-08-21

Re: PHP - wyciąganie danych od - do

Jak masz powiedzmy w zmiennej $linia cala linijke z pliku to uzyj:

Kod:

$wycinek = substr($linia, 30, 15);

Wycina to 15 znakow zaczynajac od 30tego znaku.


Open Source - Świat otwartych umysłów
Linux Registered User: #276548

Offline

 

#3  2007-02-08 16:49:36

  Contravene - Użytkownik

Contravene
Użytkownik
Zarejestrowany: 2006-08-07

Re: PHP - wyciąganie danych od - do

A jeśli to nie ma być od 30 znaku, to w pętli odlicz znaki podziałowe (np. spacje) i zamiast 30 podstaw numer znaku.

Offline

 

#4  2007-02-09 14:48:03

  dawid77 - Użytkownik

dawid77
Użytkownik
Zarejestrowany: 2005-12-15

Re: PHP - wyciąganie danych od - do

No spoko!:)Tylko problem jest dziwny - ja uzywam takiego skryptu:


<?

$fd = fopen("dane.txt", "r");
while (!feof ($fd)) {
$BUFFER[] = fread($fd, 25);

}
echo $BUFFER[2] = substr($BUFFER[2], 0, 16 );
?>

i jakoś dziwnie mi to wyciąga znaki
Tutaj mam określoną linię drugą i wyswietlanie znaków od 0 do 16
ale dziwnie mi to dzieli wyświetla mi przypuszczalnie dwa znaki
jak mu określę np 3 linie to wyswietla kolejna część z 2 lini!

ma ktos moze pomysł na troche inny skrypt który robi to tak jak trzeba??


dawid

Offline

 

#5  2007-02-11 03:47:00

  raixer - Moderator

raixer
Moderator
Zarejestrowany: 2004-08-21

Re: PHP - wyciąganie danych od - do

No np. taki kod:

Kod:

<?
$fd = fopen("dane.txt","r");
$wiersz = 0;
while(!feof($fd))
{
  $dane[$wiersz] = substr(fgets($fd,1024),0,16);
  $wiersz++;
}
echo $dane[3];
?>

Open Source - Świat otwartych umysłów
Linux Registered User: #276548

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.010 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00089 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.143.218.180' WHERE u.id=1
0.00099 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.143.218.180', 1732312181)
0.00046 SELECT * FROM punbb_online WHERE logged<1732311881
0.00103 DELETE FROM punbb_online WHERE ident='3.15.225.177'
0.00078 SELECT topic_id FROM punbb_posts WHERE id=52197
0.00005 SELECT id FROM punbb_posts WHERE topic_id=6768 ORDER BY posted
0.00071 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=6768 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00197 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=6768 ORDER BY p.id LIMIT 0,25
0.00101 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=6768
Total query time: 0.00812 s