file_get_contents kan geen $_SESSION variables meenemen.
Ik ben al een tijdje bezig met iets kom steeds kleine stapjes verder.
Nu ben ik tot ontdekking gekomen tenminste als het waar is.
Dat file_get_contents geen 'toegang' heeft op sessions.
Vergeleken met de vorige topic heb ik het iets anders aangepakt
dit is nu de xml bestand:
Hoe kan ik er voor zorgen dat die wel de session pakt want dat is belangrijk.
any workarounds?
Nu ben ik tot ontdekking gekomen tenminste als het waar is.
Dat file_get_contents geen 'toegang' heeft op sessions.
Vergeleken met de vorige topic heb ik het iets anders aangepakt
dit is nu de xml bestand:
Hoe kan ik er voor zorgen dat die wel de session pakt want dat is belangrijk.
any workarounds?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php session_start();
$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;
$root = $doc->createElement('queue');
$root = $doc->appendChild($root);
$apiKey = $doc->createElement('apiKey');
$apiKey = $root->appendChild($apiKey);
$textapiKey = $doc->createTextNode('5a16411104cabf6b516');
$textapiKey = $title->appendChild($textapiKey);
$hash = $doc->createElement('hash');
$hash = $root->appendChild($hash);
$hash_value = $doc->createTextNode($_SESSION['key_api);
$hash_value = $hash->appendChild($hash_value);
echo $doc->saveXML();
?>
$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;
$root = $doc->createElement('queue');
$root = $doc->appendChild($root);
$apiKey = $doc->createElement('apiKey');
$apiKey = $root->appendChild($apiKey);
$textapiKey = $doc->createTextNode('5a16411104cabf6b516');
$textapiKey = $title->appendChild($textapiKey);
$hash = $doc->createElement('hash');
$hash = $root->appendChild($hash);
$hash_value = $doc->createTextNode($_SESSION['key_api);
$hash_value = $hash->appendChild($hash_value);
echo $doc->saveXML();
?>
Waar heb je het over?
file_get_contents leest de inhoud van een bestand (zoals je aan de naam kan zien).
Eventueel leest het de output van een webpagina.
file_get_contents leest de inhoud van een bestand (zoals je aan de naam kan zien).
Eventueel leest het de output van een webpagina.
Ik heb die informatie gekregen van een aantal links op google en het schijnt te kloppen hoor
anders zou die het moeten doen.
Hij leest nu alles behalve de session.
anders zou die het moeten doen.
Hij leest nu alles behalve de session.
Zoek de fout:
$hash_value = $doc->createTextNode( $_SESSION['key_api );
$hash_value = $doc->createTextNode( $_SESSION['key_api );
Gewijzigd op 24/06/2013 12:23:04 door - Ariën -
@Aar
Inderdaad een vervelend type foutje het trekt de aandacht weg op het probleem
Hij pakt nog steeds de session niet omdat file_get_contents geen sessions pakt.
Inderdaad een vervelend type foutje het trekt de aandacht weg op het probleem
Hij pakt nog steeds de session niet omdat file_get_contents geen sessions pakt.
Ik neem aan dat dit gerelateerd is aan php in xml? Als dat zo is, hoef je geen file_get_contents te gebruiken. Dan zou je het gewoon zo kunnen doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
session_start();
$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;
$root = $doc->createElement('queue');
$root = $doc->appendChild($root);
$apiKey = $doc->createElement('apiKey');
$apiKey = $root->appendChild($apiKey);
$textapiKey = $doc->createTextNode('5a16411104cabf6b516');
$textapiKey = $title->appendChild($textapiKey);
$hash = $doc->createElement('hash');
$hash = $root->appendChild($hash);
$hash_value = $doc->createTextNode($_SESSION['key_api']);
$hash_value = $hash->appendChild($hash_value);
$ch = curl_init("http://api.online-convert.com/queue-status");
$request["queue"] = $doc->saveXML();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch);
$info = curl_getinfo( $ch );
$error = curl_error($ch);
curl_close ($ch);
?>
session_start();
$doc = new DOMDocument('1.0');
// we want a nice output
$doc->formatOutput = true;
$root = $doc->createElement('queue');
$root = $doc->appendChild($root);
$apiKey = $doc->createElement('apiKey');
$apiKey = $root->appendChild($apiKey);
$textapiKey = $doc->createTextNode('5a16411104cabf6b516');
$textapiKey = $title->appendChild($textapiKey);
$hash = $doc->createElement('hash');
$hash = $root->appendChild($hash);
$hash_value = $doc->createTextNode($_SESSION['key_api']);
$hash_value = $hash->appendChild($hash_value);
$ch = curl_init("http://api.online-convert.com/queue-status");
$request["queue"] = $doc->saveXML();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type: multipart/form-data"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch);
$info = curl_getinfo( $ch );
$error = curl_error($ch);
curl_close ($ch);
?>
Dat brengt mij bijna waar ik zijn moet, nu krijg ik
101 The file is waiting in the queue for being processed.
Terwijl als ik het hardcoded doe krijg ik dit:
100 The file has been successfully converted. 0 1372070905 http://www15.online-convert. etc etc
101 The file is waiting in the queue for being processed.
Terwijl als ik het hardcoded doe krijg ik dit:
100 The file has been successfully converted. 0 1372070905 http://www15.online-convert. etc etc
Heb je al gedebugd door te kijken of de hash die in de session staat en je dus doorgeeft, of dat dezelfde is die je hardcode. Doe bijvoorbeeld eens
Zo te zien komen ze allebei overeen.
En probeer eens of PHP ze ook overeen vindt komen door iets te doen als:
Dan krijg ik bool(false) dus dat betekent dat ze niet overeen komen.
Maar is dat niet logisch want de hashkey maakt steeds een andere aan
dus als ik upload geeft die een hash en die hash kan ik dan pas voor hardcode gebruiken
maar als ik dan refresh maakt die een andere aan
Toevoeging op 24/06/2013 15:56:16:
@Koen
heb je misschien nog een idee?
Maar is dat niet logisch want de hashkey maakt steeds een andere aan
dus als ik upload geeft die een hash en die hash kan ik dan pas voor hardcode gebruiken
maar als ik dan refresh maakt die een andere aan
Toevoeging op 24/06/2013 15:56:16:
@Koen
heb je misschien nog een idee?
Gewijzigd op 24/06/2013 13:20:01 door Francoi gckx
Francoi gckx op 24/06/2013 13:19:21:
Dan krijg ik bool(false) dus dat betekent dat ze niet overeen komen.
Maar is dat niet logisch want de hashkey maakt steeds een andere aan
dus als ik upload geeft die een hash en die hash kan ik dan pas voor hardcode gebruiken
maar als ik dan refresh maakt die een andere aan
Toevoeging op 24/06/2013 15:56:16:
@Koen
heb je misschien nog een idee?
Maar is dat niet logisch want de hashkey maakt steeds een andere aan
dus als ik upload geeft die een hash en die hash kan ik dan pas voor hardcode gebruiken
maar als ik dan refresh maakt die een andere aan
Toevoeging op 24/06/2013 15:56:16:
@Koen
heb je misschien nog een idee?
Nog iemand die een oplossing weet?
Als je je hardcoded hash var_dump't en je session hash ook, komt de lengte dan wel overeen?
Ik gebruik inmiddels geen session meer maar voeg het nu toe als parameter.
Ze komen overeen ik heb zelfs gecontroleerd of er in het begin of einde een spatie zit.
Toevoeging op 26/06/2013 10:33:18:
Als je wilt kan ik je de bestanden geven
Ze komen overeen ik heb zelfs gecontroleerd of er in het begin of einde een spatie zit.
Toevoeging op 26/06/2013 10:33:18:
Als je wilt kan ik je de bestanden geven
En geeft mijn vorige var_dump met equals nog steeds false aan? Weet je dan zeker dat alles precies overeenkomt? Geef anders eens een voorbeeld.
zit eigen apikey in en is opgelost dus weg!
Gewijzigd op 27/06/2013 17:50:28 door Francoi gckx
Als ik met deze code een testje opzet, krijg ik gewoon een normale response:
Ik heb het getest met als inc_xml/inc_xml_cv.xml de volgende inhoud:
En ik heb alle code die jij hier net hebt neergezet gebruikt, behalve dat ik wel mijn eigen API-key heb gebruikt. Heb je wel je testMode uitgezet in inc_xml/inc_xml_cv.xml?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<queue-answer>
<status>
<code>100</code>
<message>The file has been successfully converted.</message>
</status>
<params>
<downloadCounter>0</downloadCounter>
<dateProcessed>1372243861</dateProcessed>
<directDownload>http://www5.online-convert.com/download-file/abc3aa3021c9b49de933a548552ed5dc</directDownload>
<source_checksum>a8f398aac96639fff052b6c8c2bec91b</source_checksum>
<checksum>b76e7ddfc93a0d4e1528ee145272ea85</checksum>
<target_size>40</target_size>
<convert_to>pdf</convert_to>
<mime_type>application/pdf</mime_type>
<hash>abc3aa3021c9b49de933a548552ed5dc</hash>
</params>
</queue-answer>
<queue-answer>
<status>
<code>100</code>
<message>The file has been successfully converted.</message>
</status>
<params>
<downloadCounter>0</downloadCounter>
<dateProcessed>1372243861</dateProcessed>
<directDownload>http://www5.online-convert.com/download-file/abc3aa3021c9b49de933a548552ed5dc</directDownload>
<source_checksum>a8f398aac96639fff052b6c8c2bec91b</source_checksum>
<checksum>b76e7ddfc93a0d4e1528ee145272ea85</checksum>
<target_size>40</target_size>
<convert_to>pdf</convert_to>
<mime_type>application/pdf</mime_type>
<hash>abc3aa3021c9b49de933a548552ed5dc</hash>
</params>
</queue-answer>
Ik heb het getest met als inc_xml/inc_xml_cv.xml de volgende inhoud:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?xml version="1.0" encoding="utf-8" ?>
<queue>
<apiKey>mijnapikey</apiKey>
<targetType>document</targetType>
<targetMethod>convert-to-pdf</targetMethod>
</queue>
<queue>
<apiKey>mijnapikey</apiKey>
<targetType>document</targetType>
<targetMethod>convert-to-pdf</targetMethod>
</queue>
En ik heb alle code die jij hier net hebt neergezet gebruikt, behalve dat ik wel mijn eigen API-key heb gebruikt. Heb je wel je testMode uitgezet in inc_xml/inc_xml_cv.xml?
Hmm ik krijg echt dit als response (testmode heb ik ook nuweggelaten):
Heb je precies zelfde code gebruikt?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<queue-answer>
<status>
<code>101</code>
<message>The file is waiting in the queue for being processed.</message>
</status>
<params>
<hash>5df1789c77fac1d859de2f7fcb831552</hash>
</params>
</queue-answer>
<queue-answer>
<status>
<code>101</code>
<message>The file is waiting in the queue for being processed.</message>
</status>
<params>
<hash>5df1789c77fac1d859de2f7fcb831552</hash>
</params>
</queue-answer>
Heb je precies zelfde code gebruikt?
Dat klopt, want het bestand is niet binnen een paar milliseconden geconvert. Ik heb de hash opgeslagen en dan opnieuw uitgevoerd na een paar seconden. Dan krijg je wel de directe downloadlink. Deze response kreeg ik eerst ook, maar na een paar seconden krijg je gewoon code 100.
Ik krijg nu 104 The file is currently being processed
waarschijnlijk omdat als ik refresh een nieuwe hash aangemaakt wordt, hoe behou ik de hash
ik probeer het 2 keer uit te voeren zo:
hoe had jij het dan gedaan?
waarschijnlijk omdat als ik refresh een nieuwe hash aangemaakt wordt, hoe behou ik de hash
ik probeer het 2 keer uit te voeren zo:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$gDwLink = new SimpleXMLElement(get_data('cvuploads/' .$t . $n));
$download = $gDwLink->params->hash;
$gDwLinkD = new SimpleXMLElement(get_dlcv($download));
$dd = $gDwLinkD->params->hash;
echo get_dlcv($dd);
?>
$gDwLink = new SimpleXMLElement(get_data('cvuploads/' .$t . $n));
$download = $gDwLink->params->hash;
$gDwLinkD = new SimpleXMLElement(get_dlcv($download));
$dd = $gDwLinkD->params->hash;
echo get_dlcv($dd);
?>
hoe had jij het dan gedaan?
Ik had in dit geval gewoon even de hash gekopieerd uit het bestand, dus 'abc3aa3021c9b49de933a548552ed5dc' gekopieerd en erin gezet als $download. Maar je kan dus een database of session gebruiken in jouw geval.




