Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: honorguard 12 Května 2008, 01:06:50

Název: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 12 Května 2008, 01:06:50
Zdravím,
potřebuji pomoct

1) Neznáte někdo odkaz na nějakou dobrou referenční příručku ohledně php? Bylo by super kdyby byla třeba v odt nebo v něčem dejchatelnym co bych si převedl. Hlavně aby šla stáhnout a šlo v ní vyhledávat (tudíž nebyla PDF). Může být klidně anglicky. Hlavně potřebuji aby tam byly funkce a jejich dokumentace.

2) Mám 3 soubory a v každém je jedno číslo. Nevím jak jsou ty čísla dlouhá. Pro rychlost a lepší využití by bylo lepší hodit všechna tyhle čísla do jednoho souboru třeba každé na jiný řádek, ale práci s ukazatelem absolutně neovládám. Jediné co znám je příkaz rewind :D. Nevíte někdo jak na to?

3) Potřeboval bych nějak uříznout číslo aby bylo celé + 2 desetiná místa (čili zaokrouhlit) Jak na to?

Předpokládám že všechny tyhle problémy by vyřešila právě nějaká dobrá referenční příručka.

Předem moc dík
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení
Přispěvatel: ufaak 12 Května 2008, 07:34:51
ad 1)
jeste me nezklamal google, kdyz neco nevim... ale jinak mam knizku Programujeme PHP profesionalne, ta je hodne obsahla :)

ad 2)
Kód: [Vybrat]
<?php
$data 
File ("data.txt");
for (
$i 0$i Count ($data); $i++) echo "$data[$i]<br>";
?>

EDIT: pokud to neni z prikladu patrne, tak funkce File nacte soubor do pole - kazdy radek odpovida jedne bunce :)

ad 3)
Kód: [Vybrat]
echo round(1.8765, 2); // 1.88druhy, nepovinny, parametr udava pocet desetinnych mist po zaokrouhleni
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení
Přispěvatel: honorguard 12 Května 2008, 08:02:56
Díky Ufáku chápu.
Moc jsi mi pomohl :)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení
Přispěvatel: o5 13 Května 2008, 22:51:23
ad 1)
..ale jinak mam knizku Programujeme PHP profesionalne, ta je hodne obsahla :)
[noflame]..z roku 2001. Je tam neco uzitecneho, co by jsi mohl pouzit dnes?  :) [/noflame]
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 13 Května 2008, 23:49:25
Hele, pls ještě jedna věc... Když třeba potřebuju ten soubor změnit... šlo by to tak že bych změnil obsah toho pole a potom to pole zase uložil do souboru? Jak na to?
Really Thanks :)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení
Přispěvatel: ubuntu luky 14 Května 2008, 00:15:40
[noflame]..z roku 2001. Je tam neco uzitecneho, co by jsi mohl pouzit dnes?  :) [/noflame]

proc by nebylo? mas pocit ze se cely jazyk php zmenil? php prece stoji na stejnych konstrukcich ktere porad fungujou, syntaxe atd
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: ufaak 14 Května 2008, 07:21:25
ad 1)
..ale jinak mam knizku Programujeme PHP profesionalne, ta je hodne obsahla :)
[noflame]..z roku 2001. Je tam neco uzitecneho, co by jsi mohl pouzit dnes?  :) [/noflame]

no v knize popisuji PHP4, ale nemyslim si, ze by byla zastarala... podle me zkusenosti vetsina serveru PHP5 ani nenabizi...
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: ufaak 14 Května 2008, 08:00:29
Hele, pls ještě jedna věc... Když třeba potřebuju ten soubor změnit... šlo by to tak že bych změnil obsah toho pole a potom to pole zase uložil do souboru? Jak na to?
Really Thanks :)

slo by to :)

Kód: [Vybrat]
<?
if (!$soubor=fopen("data.txt", "r+")) {
   echo ("Nelze otevřít soubor");
} else {
$data = file("data.txt");
$vysledna_data = zpracovani_dat($data);
for ($i=0; $i<count($vysledna_data); $i++)  {
  fputs($soubor, $vysledna_data[$i]);
}
}
?>
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno
Přispěvatel: o5 14 Května 2008, 13:42:12
no v knize popisuji PHP4, ale nemyslim si, ze by byla zastarala... podle me zkusenosti vetsina serveru PHP5 ani nenabizi...
To mas malo zkusenosti, ale ja sam jich vlastne moc nemam :) . Ne myslim ze na vetsine solidnich hostinzich PHP5 je. Nebylo to mozna ode me fer, ale proste rad vyuzivam nove technologie (fce), tak proto prosazuji PHP5. Spis si myslim, ze jestli si nekdo dnes hodla koupit nejakou zajimavou knihu, tak by mel sahnout po necem cerstvejsim.

Ale jak jsem psal, noflame jen IMO :)

Chceme mir :)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno
Přispěvatel: ubuntu luky 14 Května 2008, 14:17:11
Chceme mir :)

jo to je spravny  :)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: ufaak 14 Května 2008, 14:49:54
mir s tebou
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 14 Května 2008, 19:17:14
Opět Děkuji Ufaakovi za pomoc :).
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: ufaak 14 Května 2008, 19:35:57
Opět Děkuji Ufaakovi za pomoc :).

za nic ;)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 14 Května 2008, 19:46:25
ani ne... kdyby jsi jen věděl kolik jsi mi ušetřil na serveru souborů a procesů a jak jsi to celé urychlil a zkrátil zdroják :D.
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 21 Května 2008, 12:26:07
Tak mám další problém.
http://img4.net/public/pview/15014/snímek84.png (http://img4.net/public/pview/15014/snímek84.png)
Tenhle problém jsem sledoval již kdysi dávno když jsem s php začínal, ale potom jsem dlouho nepotřeboval soubory a ty původní projekty fungovaly tak jsem to neřešil. nejspíš by fungoval i tenhle. Jde o to že bych byl rád kdybych to měl v pořádku. Tahle chyba se (alepoň podle mého) týká přístupových práv, což je věc o které jsem se dověděl až na Linuxu. Když jsem na Windows začínal s php, tak jsem jen matně tušil k čemu to je a uměl jsem to v TC změni :D. Jedná se o počítadlo návštěvnosti. Radši si vedu vlastní, protože mi to umožňuje počítat i návštěvnost jednotlivých článků bez velké složitosti a můžu jednoduše provádět statistické výpočty apod.

Celá složka je ve vlastnictví uživatele www-data a skupiny www-data. Stejně tak každý soubor v této složce (ručně jsem je přeprávoval). Vlastník má práva RWX a skupina a ostatní má práva pouze R.

Může mě prosím někdo popostrčit, abych věděl kde dělám chybu? Předem dík.

zdroják skriptu:
http://www.edisk.cz/stahnout-soubor/16087/navstevnost.php_2.33KB.html (http://www.edisk.cz/stahnout-soubor/16087/navstevnost.php_2.33KB.html)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: donny 21 Května 2008, 23:18:43
ja mam webovy root v ~/www a prava:

drwxrwxr-x  7 donny html       4096 21. kvě 21.15 www
|  (html je skupina, kterou jsem vytvoril specialne pro tyto potreby)
|  a v ni:
|-- drwxr-xr-x  7 donny users 4096 29. bře 15.57 projekt1
|  respektive
|-- -rw-r--r--  1 donny users   79 30. bře 14.07 temp.php
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 21 Května 2008, 23:32:53
Tak problém byl vyřešen.
Nakonec jsem zjistil že složka kam zapisují skritpy má práva pro skupinu www-data jen r-x, takže tam nešlo zapisovat. Všem díky za pomoc.
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 23 Května 2008, 01:07:23
Ahoj Uffáku,
mám problém s tím příkazem fputs. Problém je že všechno ukládá na jeden řádek. cca takhle:

původní obsah souboru:

80.00
80.00
80.00

po přepsání všech řádků např. hodnotami 40.00
40404000.00
80.00

Tady je kód co to ukládá. Nevší prosím co jsem udělal špatně?
Kód: [Vybrat]
$soubor = fopen('open/vnimani.txt', 'r+');
   
   
    $navrat[0] = $first_procenta_prumer;
    $navrat[1] = $first_real_prumer;
    $navrat[2] = $second_procenta_prumer;
    $navrat[3] = $second_real_prumer;
   
    for($i = 0; $i<4; $i++) {
      fputs($soubor, $navrat[$i]);
    }

Moc díky
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno
Přispěvatel: donny 23 Května 2008, 17:03:03
Kód: [Vybrat]
$soubor = fopen('open/vnimani.txt', 'r+');
   
   
    $navrat[0] = $first_procenta_prumer;
    $navrat[1] = $first_real_prumer;
    $navrat[2] = $second_procenta_prumer;
    $navrat[3] = $second_real_prumer;
   
    for($i = 0; $i<4; $i++) {
      fputs($soubor, $navrat[$i]."\n");
    }
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 27 Května 2008, 01:18:10
Tak všem děkuji, Donnyho návod funguje. Jen by mě zajímalo, jaký je rozdíl mezi fputs a fwrite? Mají stejné paramtery, oba dva používají stejný typ handle... Nemůžu tomu přijít na kloub. Leda že by fputs psalo od začátku souboru a fwrite od posledního místa ukazatele...
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno
Přispěvatel: donny 28 Května 2008, 18:11:12
fputs je alias pro fwrite, tyto funkce jsou tedy naprosto totozne (resp. jedna a ta sama, akorat ma dva nazvy)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: ufaak 28 Května 2008, 18:26:16
jj, je to presne tak :)

najdes to i ve spefikaci php :)
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: honorguard 28 Května 2008, 23:24:29
Bože a nevíte teda někdo k čemu je to dobrý?
Název: Re: php a práce se soubory/ukazatelem + dobrá reference + zaokrouhlení [vyřešeno]
Přispěvatel: ufaak 29 Května 2008, 07:22:40
vim to naprosto presne... aby te to zmatlo ;D