ďťż

[php] problemy z cURL

       

Podstrony


telcocafe

witam,

jak zrobić, by jeden skrypt wywoływał drugi i otrzymywał od niego zmienne?

pierwszy.php:
<?php exec("drugi.php"); print "&temat=$temat"; ?>

drugi.php:
<?php $temat = 1; ?>

output:
&temat=
Użytkownik flashion edytował ten post 15 lipiec 2008, 21:41


Funkcja "include" ...

INCLUDE jest instrukcją w PHP, a nie funkcją!
pierwszy.php echo '&temat=' . (include 'drugi.php'); drugi.php: return 1;


URL file-access is disabled in the server configuration

U mnie na lokalu czy na serwerze?

// na swoim już zmieniałem w php.ini i nic to nie dało
// wiecie może, co dokładnie należy pozmieniać?
Użytkownik flashion edytował ten post 14 lipiec 2008, 22:22


Czyli na zdalnym serwerze wyłączyli allow_url_fopen w konfiguracji. Pozostaje jeszcze CURL w PHP lub AJAX w Javascript.

jeśli chodzi o CURL, to XAMPP nie wie, co to curl_init() ;/


jeśli chodzi o CURL, to XAMPP nie wie, co to curl_init() ;/
Biblioteka CURLa dołączana przez ustawienie w php.ini?

@up: w php.ini jest:

;extension=php_curl.dll

a wyskakuje, że niezdefiniowana funkcja
Użytkownik flashion edytował ten post 15 lipiec 2008, 18:36
Bo powinno być:
extension=php_curl.dll
(bez średnika na początku :) )
Użytkownik Tomek92 edytował ten post 15 lipiec 2008, 18:47
no, teraz żadnych błędów nie wywala. ale jak zrobić, by działało?

zrobiłem sobie dwa skrypty, skrypt.php i skrypt2.php. skrypt2 wywołuje skrypt

skrypt.php:
<?php $xml = new DOMDocument; // xml $xml->preserveWhiteSpace = FALSE; $xml->load('plik.xml'); $xml->firstChild->setAttribute("pass","1b"); $xml->formatOutput = TRUE; // zapisywanie $xml->saveXML(); $xml->save('plik.xml'); ?>

skrypt2.php:
<?php $ch = curl_init('skrypt.php'); curl_exec($ch); curl_close($ch); ?>

i nic się nie dzieje. plik.xml zostaje niezmieniony oO
Użytkownik flashion edytował ten post 15 lipiec 2008, 19:53
Ale PO CO TAK?!?!
Skoro masz taki dostęp do pliku to wystarczy ZWYKŁY INCLUDE!
Ludzie, nie utrudniajcie sobie życia.

to tylko testy. chcę wiedzieć, że w kodzie jest wszystko OK.

No i tak się nie robi tego przez cUrla. Ludzie. To tak jakbyście używali łomu do otwierania piwa o.0

bracie, proszę cię tylko o to, żebyś mi powiedział, co jest źle z tym kodem

Plik nie jest zapisywalny. Sprawdź to.

gdy wywołuję sam skrypt.php wszystko śmiga. coś musi być nie-tego w skrypt2.php

[ciach!] jego mać. TO zaincluduj go a nie rób cURLEM!

@up: Post 4 i 5

Gdzie jest plik skrypt.php i skrypt2.php. Na tym samym serwerze? W tym samym katalogu?

Podczas testów - tak, ale będą na oddzielnych serwerach.
BTW: Dzięki, że chcesz pomóc.

No to pisz odrazu, że będą na oddzielnych serwerach bo teraz to można includem.
W curlu podajesz PEŁEN adres http://localhost/skrypt.php

wszystko, co zechce dla tego pana! na mój koszt!

działa, dziękuję :)

// a jak zrobić, żeby skrypt2 przesłał zmienną do skrypt?
Użytkownik flashion edytował ten post 15 lipiec 2008, 21:23
Może ją wyświetlić (w skrypt.php)
Wtedy curla ujmujesz w ob
ob_start(); //tutaj curl $con=ob_get_contents(); ob_end_clean();
i w $con bedziesz mial treść wyswietlana przez skrypt.php

super, a jak to będzie w drugą stronę? wywołujący do wywoływanego
Użytkownik flashion edytował ten post 15 lipiec 2008, 21:31
POST-em albo GET-em
POST
$ch = curl_init('http://localhost/skrypt.php'); $data = array('zmienna'=>'wartosc'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch);

GET (pamiętaj o ograniczeniach geta)
$ch = curl_init('http://localhost/skrypt.php?zmienna=wartosc'); curl_exec($ch);
Użytkownik polasek edytował ten post 15 lipiec 2008, 21:38
wielkie dzięki!!

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.