Autor | Zpráva | ||
---|---|---|---|
p.kopecky Profil |
#1 · Zasláno: 8. 3. 2019, 07:59:33
Ahoj, Prosím o radu.
Mam soubor fotky.txt který má na prvním řádku "*" na druhém "jmeno" (bez uvozovek) ,ale když jej načtu a vypíšu pomocí <?php $soubor = fopen("./fotky.txt", "r"); $obsahradku = fgets($soubor); echo $obsahradku; $obsahradku = fgets($soubor); echo $obsahradku; ?> tak na obrazovce je za každým vypsaným řádkem mezera " ". Vypadá to takto: "* jmeno " Dělá mi to potíže při vyhodnocování obsahu řádku, jelikož je skládám do adres k souborům fotek a ty s mezerami samozřejmě nefungují. Děkuji za rady, proč mi tam mezery vznikají a jak se jich zbavit. |
||
JakubHekal Profil |
Co použít
trim
|
||
Keeehi Profil |
#3 · Zasláno: 8. 3. 2019, 08:26:16
Když pouziješ toto, tak čím řádky končí?
echo bin2hex($obsahradku).'<br>'; 0A , 0D , 20 nebo něco jiného?
|
||
p.kopecky Profil |
Keeehi:
když načty "*" napíše na obrazovku "2a0d0a" bez konečné mezery. Ale jak z toho udělám opět "*"?? JakubHekal: trim-em budu odřezávat konečnou mezeru, ale já bych chtěl vyřešit proč ji to vůbec píše. nemůže to být kodováním externího souboru a html stránky? |
||
blaaablaaa Profil |
#5 · Zasláno: 8. 3. 2019, 11:35:49
p.kopecky:
2A je hvězdička, 0D0A znamená konec řádku. Takže fgets načte celý řádek včetně značky pro konec řádku. Ten lze smazat např. pomocí rtrim($str, "\r\n"). |
||
Keeehi Profil |
#6 · Zasláno: 8. 3. 2019, 11:53:06
Jinak ještě doplním, že v html se po sobě jdoucí bílé znaky (tedy i znak konce řádku) zobrazí jako jedna mezera. To jen pro vysvětlení, proč byly vidět mezery a ne nové řádky. Když by jsi se ale podíval na zdrojový kód stránky, tak ty nové řádky tam budou.
|
||
p.kopecky Profil |
Keeehi:
děkuji za vysvětlení, budu mazat konec řádku. |
||
Časová prodleva: 6 let
|
0