Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]include do zmiennej
sylar
post 24.08.2007, 11:01:32
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.08.2007

Ostrzeżenie: (0%)
-----


Witam.

mam plik aaa.php:
Cytat
<?php
echo "jakis";
echo "Tam";
echo "Tekst";
?>


jak zrobić aby wynik tego aaa.php wkleić do zmiennej?

chodzi mi o coś typu:
$zmienna = include("aaa.php");

a wynikiem ma być:
$zmienna = "jakisTamTekst";

Z php mam styczność od paru tygodni, więc proszę o prostą pomoc.


_______________________________
Działająca odpowiedź na pytanie znaleziona dzięki mike'owi:
dokładny kod, to
Cytat
<?php
ob_start();
$buffer = ob_get_contents();
include 'aa.php';
$output = substr(ob_get_contents(),strlen($buffer));
ob_end_clean();
$result = $output;

echo $result;
?>


Czyli w skorcie wlanczam buforowanie wyjscia, dolanczam plik, odczytuje
zawartosc bufora, przypisuje go do zmiennej i wylanczam buforowanie.

Ten post edytował sylar 24.08.2007, 22:16:22
Go to the top of the page
+Quote Post
Hazel
post 24.08.2007, 11:06:39
Post #2





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Plik aaa.php:
  1. <?php
  2. $zmienna1 = 'jakis';
  3. $zmienna2 = 'Tam';
  4. $zmienna3 = 'Tekst';
  5. // jeśli chcesz wyświetlić w pliku aaa.php do przeglądarki "jakisTamTekst", 
  6. // to napisz:
  7. // echo $zmienna1.$zmienna2.$zmienna3;
  8. // a jeśli nie to olej ten komentarz
  9. ?>


Drugi plik:
  1. <?php
  2. include 'aaa.php';
  3. $zmienna = $zmienna1.$zmienna2.$zmienna3;
  4. // teraz wartością zmiennej $zmienna jest 'jakisTamTekst'
  5. // myślę, że o to Ci chodziło
  6. ?>


Ten post edytował Hazel 24.08.2007, 11:07:25


--------------------
Go to the top of the page
+Quote Post
DawidF
post 24.08.2007, 11:06:40
Post #3





Grupa: Zablokowani
Postów: 120
Pomógł: 2
Dołączył: 4.11.2004

Ostrzeżenie: (10%)
X----


A nie prościej ten tekst wstawić do funkcji?

  1. <?php
  2. function pokazTekst() {
  3. echo "jakis";
  4. echo "Tam";
  5. echo "Tekst";
  6. }
  7. ?>


Potem możesz go sobie wyświetlać

  1. <?php
  2. pokazTekst();
  3. ?>


wrzucać do zmiennej

  1. <?php
  2. $zmienna = pokazTekst();
  3. ?>


Tak chyba byłoby prościej...
Go to the top of the page
+Quote Post
Hazel
post 24.08.2007, 11:10:45
Post #4





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Każdy robi jak chce...
Oczywiście, obie formy są równoważne, możesz sobie wybrać, którą chcesz smile.gif


--------------------
Go to the top of the page
+Quote Post
mike
post 24.08.2007, 11:12:17
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(DawidF @ 24.08.2007, 12:06:40 ) *
wrzucać do zmiennej

  1. <?php
  2. $zmienna = pokazTekst();
  3. ?>
Wyświetlic tak, ale z tym wrzuceniem przesadziłeś tongue.gif
Sprawdź jak to zadziała a potem pisz na forum. Ustrzeżesz się pisania głupot (tak jak w tym przypadku).

P.S.
Tak naprawdę to wszystkie powyższe rozwiązania są błędne. Bo nie realizują tego co chce autor. Naginacie conieco żeby się udało.
Co jeśli autor nie chce zmieniać pliku aaa.php?
Powinno być tak:
  1. <?php
  2.  
  3. include("aaa.php");
  4. $zmienna = ob_get_flush();
  5.  
  6. ?>
Go to the top of the page
+Quote Post
Hazel
post 24.08.2007, 11:22:54
Post #6





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Autor nie napisał, czego właściwie chce, a że problem ma kilka rozwiązań, to każdy z nas podał inne - Twoje jest tak samo beznadziejne jak nasze - czyli działa równie poprawnie...
Niby czemu miałby nie chcieć modyfikować skryptu aaa.php, jeśli tego nie napisał?
Niczego nie naginam, a jeśli twóca tematu wyraźnie zakomunikowałby, że chce rozwiązania, które nie zmienia pliku aaa, to dałbym takie rozwiązanie, jak Ty. sciana.gif

Jeśli uważasz, że ten post nie dotyczy tematu, to go skasuj. dry.gif


--------------------
Go to the top of the page
+Quote Post
sylar
post 24.08.2007, 11:27:18
Post #7





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.08.2007

Ostrzeżenie: (0%)
-----


Cytat(Hazel @ 24.08.2007, 12:06:39 ) *
Plik aaa.php:
  1. <?php
  2. $zmienna1 = 'jakis';
  3. $zmienna2 = 'Tam';
  4. $zmienna3 = 'Tekst';
  5. // jeśli chcesz wyświetlić w pliku aaa.php do przeglądarki \"jakisTamTekst\", 
  6. // to napisz:
  7. // echo $zmienna1.$zmienna2.$zmienna3;
  8. // a jeśli nie to olej ten komentarz
  9. ?>


Drugi plik:
  1. <?php
  2. include 'aaa.php';
  3. $zmienna = $zmienna1.$zmienna2.$zmienna3;
  4. // teraz wartością zmiennej $zmienna jest 'jakisTamTekst'
  5. // myślę, że o to Ci chodziło
  6. ?>


sprawa nie jest taka prosta.
w rzeczywistości plik aaa.php zawiera ok 1400 linijek w tym dziesiątki zmiennych, funkcji i kilka pętli
tak więc ten sposób odpada sad.gif
Go to the top of the page
+Quote Post
mike
post 24.08.2007, 11:30:52
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(sylar @ 24.08.2007, 12:01:32 ) *
jak zrobić aby wynik tego aaa.php wkleić do zmiennej?
Cytat(Hazel @ 24.08.2007, 12:22:54 ) *
Autor nie napisał, czego właściwie chce, (...)
Ty, no jak twierdzisz, że autor tego nie napisałe, to coś przegapiłeś.Rozumiem, że Twoje rozwiązanie działa na danych przykładowych, które podał autor? Jesli tak twierdzisz to chyba tego nawet nie sprawdziłeś.Jak odpowiadasz na coś to odpowiadaj na zadany pytania a nie na to co Tobie się wydaj eza ktoś mógł chccieć a jak nie to na cokolwiek tongue.gif
Cytat(sylar @ 24.08.2007, 12:27:18 ) *
sprawa nie jest taka prosta.w rzeczywistości plik aaa.php zawiera ok 1400 linijek w tym dziesiątki zmiennych, funkcji i kilka pętlitak więc ten sposób odpada sad.gif
Co więc rozumiesz pod pojęciem "wynik działania"? To co wświetli ten plik? Jeśli tak to masz na tacy to co napisałem.Ale bardzo ważne jest żebyś zrobił tak:
  1. <?php$zmienna = include(&#092;"http://adres.pl/aaa.php\");?>
a nie tak:
  1. <?php$zmienna = include(&#092;"aaa.php\");?>
Go to the top of the page
+Quote Post
sylar
post 24.08.2007, 12:06:40
Post #9





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.08.2007

Ostrzeżenie: (0%)
-----


Cytat(Hazel @ 24.08.2007, 12:22:54 ) *
Autor nie napisał, czego właściwie chce, a że problem ma kilka rozwiązań, to każdy z nas podał inne - Twoje jest tak samo beznadziejne jak nasze - czyli działa równie poprawnie...Niby czemu miałby nie chcieć modyfikować skryptu aaa.php, jeśli tego nie napisał?Niczego nie naginam, a jeśli twóca tematu wyraźnie zakomunikowałby, że chce rozwiązania, które nie zmienia pliku aaa, to dałbym takie rozwiązanie, jak Ty. sciana.gif Jeśli uważasz, że ten post nie dotyczy tematu, to go skasuj. dry.gif
już dokładnie mówię co chce:do textarea wklejasz tekst, który jest później przez php konwertowany (tekst nie jest przypadkowy, więc można z niego wyciągnąć zmienne i później uporządkować je wg wzoru). Następnie przekonwertowany tekst (aaa.php) jest wyświetlany na stronie, a obok jest kolejny textarea, w którym mabyć ten sam kod, jednak lekko zmodyfikowany przez funkcje str_replace.dlatego podałem banalny przykład aaa.php, bo chcę na nim zrozumieć jak to zrobić na bardziej zaawansowanym przykładzie.
Cytat(mike @ 24.08.2007, 12:30:52 ) *
Ty, no jak twierdzisz, że autor tego nie napisałe, to coś przegapiłeś.Rozumiem, że Twoje rozwiązanie działa na danych przykładowych, które podał autor? Jesli tak twierdzisz to chyba tego nawet nie sprawdziłeś.Jak odpowiadasz na coś to odpowiadaj na zadany pytania a nie na to co Tobie się wydaj eza ktoś mógł chccieć a jak nie to na cokolwiek tongue.gif Co więc rozumiesz pod pojęciem "wynik działania"? To co wświetli ten plik? Jeśli tak to masz na tacy to co napisałem.Ale bardzo ważne jest żebyś zrobił tak:
  1. <?php[/php]a nie tak:[php]?>
niestety i tak nie działa :(jak robię bez http://adres.pl/ to zamiast wpisać kod do zmiennej, to wyświetla normalną stronę sad.gif a jak z, tomain(http://www.adres.pl/aaa.php) [function.main]: failed to open stream: Connection refused in...

Ten post edytował sylar 24.08.2007, 12:06:23
Go to the top of the page
+Quote Post
sylar
post 24.08.2007, 22:13:54
Post #10





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.08.2007

Ostrzeżenie: (0%)
-----


Cytat(mike @ 24.08.2007, 12:12:17 ) *
Wyświetlic tak, ale z tym wrzuceniem przesadziłeś tongue.gif
Sprawdź jak to zadziała a potem pisz na forum. Ustrzeżesz się pisania głupot (tak jak w tym przypadku).

P.S.
Tak naprawdę to wszystkie powyższe rozwiązania są błędne. Bo nie realizują tego co chce autor. Naginacie conieco żeby się udało.
Co jeśli autor nie chce zmieniać pliku aaa.php?
Powinno być tak:
  1. <?php
  2. include(&#092;"aaa.php\");
  3. $zmienna = ob_get_flush();
  4.  
  5. ?>


guitar.gif yahoo.gif

dzięki. O coś takiego mi chodziło biggrin.gif

dokładny kod, to
Cytat
<?php
ob_start();
$buffer = ob_get_contents();
include 'aa.php';
$output = substr(ob_get_contents(),strlen($buffer));
ob_end_clean();
$result = $output;

echo $result;
?>


Czyli w skorcie wlanczam buforowanie wyjscia, dolanczam plik, odczytuje
zawartosc bufora, przypisuje go do zmiennej i wylanczam buforowanie. (spytałem google i takie znalazłem rozszerzenie do Twojej podpowiedzi)

raz jeszcze dzięki.
Go to the top of the page
+Quote Post
piotr485
post 20.02.2014, 22:45:37
Post #11





Grupa: Zarejestrowani
Postów: 292
Pomógł: 0
Dołączył: 10.07.2009

Ostrzeżenie: (0%)
-----


fajne rozwiązanie, też szukałem coś takiego czyli :
  1. include('aaa.php');
  2. $zmienna = ob_get_flush();


ale jak zrobić, żeby plik aaa.php się nie wyświetlał w tym miejscu ?
Go to the top of the page
+Quote Post
Turson
post 20.02.2014, 23:05:35
Post #12





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Nie prościej
$zmienna = file_get_contents("aaa.php")
questionmark.gif
Go to the top of the page
+Quote Post
StevDefs
post 25.08.2019, 15:11:11
Post #13





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 22.08.2019

Ostrzeżenie: (10%)
X----


Buy Tadapox Online Keflex For Cats levitra professional Macrobid 100mg Buy Now Losec 20mg Tablets Online Walmart Candianpharmacies
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 11:00