Autor | Zpráva | ||
---|---|---|---|
Darker Profil |
#1 · Zasláno: 27. 11. 2010, 18:35:05
Jak mám zabránit tomu, aby mi CURL vypsala data na výstup, lkdyž je chci načíst?
|
||
Jostram Profil * |
#2 · Zasláno: 27. 11. 2010, 18:42:06
Nevím jak ostatní, ale já začal do kurzu "Věštíme z křišťálové koule - začátečníci" chodit teprve nedávno a tak nejsem schopen posoudit váš kód a tím pádem vám účině pomoci. Pro začátek můžete zkusti tuto stránku obsahující příklady použití cURL.
Data do proměnné se načítají například takto (zdroj): <?php // create curl resource $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, "example.com"); //return the transfer as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // $output contains the output string $output = curl_exec($ch); // close curl resource to free up system resources curl_close($ch); ?> |
||
Darker Profil |
#3 · Zasláno: 27. 11. 2010, 20:43:17
Skoušel jsi to? Ne? Já jo. Kdybych to nezkoušel není tu tento post.
|
||
Keeehi Profil |
#4 · Zasláno: 27. 11. 2010, 20:51:24
Darker:
Ukázal jsi svůj problémový kód? Ne! Kdyby jsi ho tu ukázal, tak tu není tenhle příspěvek ale rada. Jinak 9. řádek z [#2] by měl být dostatečný k řešení tvého problému. |
||
Jostram Profil * |
#5 · Zasláno: 27. 11. 2010, 21:09:59
Darker:
cURL používám běžně a problémy s tím nemám. To, že vy nejste schopný dodat svůj kód, abych vám zkusil pomoci je vaše chyba. Místo blbých keců si laskavě projděte manuál funkce. |
||
Darker Profil |
#6 · Zasláno: 27. 11. 2010, 22:37:10 · Upravil/a: Darker
Můj problémovýkód je [#2]. Možná jsem nedostatečně upřesnil problém.
Když použiju cURL tak, jak to tu vidíte, to co vzdálený server poslal se, včetně hlavičky, přepošle uživateli. |
||
Jostram Profil * |
#7 · Zasláno: 27. 11. 2010, 23:24:06
Kód v mém postu funguje tak jak má. Načte stránku example.com a uloží do proměnné $output. Nic se nikam nevypisuje.
Ukázka: <?php echo 'start '; // create curl resource $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, "example.com"); //return the transfer as a string curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // $output contains the output string $output = curl_exec($ch); // close curl resource to free up system resources curl_close($ch); echo 'stop'; ?> Vypíše toto : start stop ------------------ (program exited with code: 0) Press return to continue Oproti tomu tento kód: <?php echo 'start '; // create curl resource $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, "example.com"); //return the transfer as a string ## ZAKOMENTOVÁNO OPROTI PRVNÍMU PŘÍKLADU ## #curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); ## ZAKOMENTOVÁNO OPROTI PRVNÍMU PŘÍKLADU ## // $output contains the output string $output = curl_exec($ch); // close curl resource to free up system resources curl_close($ch); echo 'stop'; ?> vypíše toto (zkráceno): start <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=utf-8"> <TITLE>Example Web Page</TITLE> </HEAD> </HTML> stop ------------------ (program exited with code: 0) Press return to continue Verze PHP a Apache na mém serveru je následující: $ php --version PHP 5.2.14-pl0-gentoo with Suhosin-Patch 0.9.7 (cli) (built: Sep 27 2010 22:35:34) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans with Suhosin v0.9.31, Copyright (c) 2007-2010, by SektionEins GmbH Apache: 2.2.16 (built: 16:05:11 26.9.2010) Zkuste si schválně udělat skript třeba curl_test.php a dát do něj kód z mého prvního postu a nic víc a spusťte ho. Pak zkuste zakomentovat 9. řádek z mého prvního postu a zkuste to spustit znovu. V případě, že se takto nově vytvořený skript nebude chovat tak, jak má (první nic nevypíše, druhý vypíše response), dejte vědět (a přiložte i svůj kód). Pokud se to bude chovat korektně, tak hledejte ve svém kódu nějaké zapadlé echo, které by vypsalo proměnou $output, nebo chybku v nastavení CURL (překlep, cokoli...) |
||
Darker Profil |
#8 · Zasláno: 28. 11. 2010, 20:46:49
Ano, měl jsem tam opravdu chybku, omlouvám se. Už to funguje.
|
||
Časová prodleva: 13 let
|
0