Autor Zpráva
Yuff.3
Profil
Ahojte,
subor.php obsahuje napr.
<?
$premenna = "Obsahpremennej";
$text = "Obsah je len text, text, text, ...";
?>

pokus.php obsahuje:
<?
reguire_once "subor.php";
?>
Ale chcem, aby v pokus.php som mal len "druhý riadok" a teda cez require (alebo poraďte inú funkciu) vytiahnuť len $premenna.
Áno, viem dá sa to dostať do DB a potom vytiahnuť kamkoľvek, ale nejedná sa len o túto jednu premennú, uviedol som fakt ten najjednoduchší príklad kvôli pochopenie záležitosti.

Ďakujem :)
scheras
Profil *
Prostě druhou proměnnou v souboru nepoužijte. Nebo mi něco uniká?
lionel messi
Profil
Yuff.3:
reguire_once "subor.php";
To asi ťažko, nie náhodu require_once?

Veľmi nechápem otázke, require_once ti načíta súbor, vykoná PHP kód a k obsahu premennej môžeš normálne pristupovať.

subor.php
<?
$premenna = "Obsahpremennej";
$text = "Obsah je len text, text, text, ...";
?>

pokus.php
require_once "subor.php"; //týmto príkazom sa načíta súbor, vykoná PHP kód
echo $premenna; //normálne pristúpime k premennej z requirovaného súboru
Treba lepšie popísať problém. V čom konkrétne ti ostatný kód vadí? Rýchlosť nezohráva dôležitú úlohu.
Yuff.3
Profil
scheras, lionel messi:
sobor.php musí obsahovať všetko čo obsahuje (niekoľko desiatok riadkov). A jednu časť toho súboru chcem použiť v pokus.php - nie celý obsah subor.php ALE len určitú časť, určité riadky toho súboru (povecme chcem tam mať len riadky 3, 4, 7, 23, 43, 44, 47..)

jj jasné viem, má tam byť Q - pomýlil som sa, písal som to narýchlo :)

Prostě druhou proměnnou v souboru nepoužijte.
subor.php musí obsahovať všetko čo obsahuje. Len v pokus.php bude subor.php ALE nie celý, len riadky, ktoré si vyberiem..

Snáď ste ma pochopili.. :)
Ďakujem :)
pcmanik
Profil
Yuff.3:
Prečo len riadky ktoré si vyberieš? Chceš šetriť pamäť a výkon alebo čo? Inak to vážne nedáva zmysel.
Yuff.3
Profil
pcmanik:
dôvody sú irelevantné. Existuje možnosť ako docieliť čo chcem alebo nie??
ďakujem :)
lionel messi
Profil
Yuff.3:
dôvody sú irelevantné. Existuje možnosť ako docieliť čo chcem alebo nie??
To, že niečo ide urobiť, ešte neznamená, že je to najlepší nápad.
Yuff.3
Profil
lionel messi:
ďakujem, vážim si vaše názory, ale držme sa témy. poviete mi ako by sa to dalo spraviť, prosím??
Tori
Profil
Yuff.3:
Co za data je na tom druhém řádku? Pokud přiřazení do proměnné, tak to můžete vytáhnout regulárem. Pokud nějaký kód, který se má provést, tak lze funkcí file načíst soubor do pole, vybrat požadovaný řádek, uložit do dočasného souboru, tento includovat a potom smazat.
Yuff.3
Profil
Tori:
Pokud nějaký kód
uff.. Toto znie zložito :D

Povecme, že zatiaľ by sa jednalo o tie premenné..

proměnné, tak to můžete vytáhnout regulárem
čo to je ten regulár, ako funguje?

Ďakujem. :)
lionel messi
Profil
Yuff.3:
čo to je ten regulár, ako funguje?
regularnivyrazi.info — asi najlepšie zhrnutie v češtine.

V tvojom prípade by vyzeral regulár a celý kód nejako takto:

pokus.php
<?php
$obsah = file_get_contents("subor.php"); //načítame obsah celého súboru do premennej
preg_match('~^\$premenna+*~', $obsah, $riadok); //zostavíme regulár, kt. nám vytiahne potrebný riadok s priradením
echo $riadok[0]; //vypíšeme premennú, v kt. už bude len ten jeden riadok
?>
Yuff.3
Profil
lionel messi:
Ani nevieš ako veľmi si mi pomohol. Ešte som to síce neskúšal, musím dokodovať základ toho a potom toto využijem. :) Moc ďakujem.

Ešte mám však jednu, podobnú otázku. Povecme mám zložitejší súbor ako napr. http://4funportal.eu/cs/servery.php?info=global&server=multifun dole mi ten súčet pekne spočíta, ale keď dám len: http://4funportal.eu/cs/servery.php?info=global - súčet = 0 - predpokladám, že dôvod je ten, že to nie je v tom istom cykle.
Otázka teda znie, ako sa vrátim do toho cyklu a vytiahnem z neho tie premenné do druhého cyklu - cyklu ktorý ho obaľuje??

Moc ďakujem za skorú odpoveď. :)
Tori
Profil
A nebylo by jednodušší prostě z toho servery.php zkopírovat do jiného souboru všechno, co se týká počítání toho součtu? Ten nový soubor by nevyráběl žádné html, prostě by jen napsal to číslo. A kdekoli jinde byste mohl použít $soucet = file_get_contents('http://4funportal.eu/cs/soucet.php'); (ale musí být na serveru povolené nastavení allow_url_fopen).

A na té druhé možnosti taky není nic složitého:
$tmp = tempnam('/tmp', 'pokus'); // vytvoří dočasný soubor
$zdroj = file('cesta/skript.php', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // načte zdrojový skript do pole
$novy = '<?php '.$zdroj[1]; // zkopíruje řádky které potřebuje
file_put_contents($tmp, $novy); // uloží je do dočasného souboru
include $tmp;
unlink($tmp); // smaže už nepotřebný dočasný soubor 
Yuff.3
Profil
Tori:
(ale musí být na serveru povolené nastavení allow_url_fopen).
Povolené mám :)

A čo keby som chcel len premenné nejaké vytiahnuť z toho "zložitého súboru" ?? Nejednalo by sa o riadky ale len o premenné - nebolo by to jednoduchšie ako s tými riadkami? Ako by vyzeral ten kód, prosím?

Ďakujem :)


Napr. ma napadlo nejako cez explode by sa to nedalo? Ale len premenné, ktoré chcem aby som si vytiahol. Nie aby mi cez require alebo čo vypísalo celý obsah..
Chcem z toho zložitého súboru dostať do druhého súboru len premenné..
Vďaka za rady :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: