login  Naam:   Wachtwoord: 
Registreer je!
 Forum

wie kan me helpen met array uitlezen

Offline cindy81 - 09/08/2015 16:59 (laatste wijziging 09/08/2015 18:17)
Avatar van cindy81Nieuw lid ik heb dit voorbeeld script met een handlijding maar kom er niet uit

Plaatscode: 142466

als ik de pictures wil uitlezen gebeurt er niks

mod edit: gezien de... eh... pikante aard van de content staat de code op plaatscode.be  

4 antwoorden

Gesponsorde links
Offline Thomas - 09/08/2015 18:26
Avatar van Thomas Moderator Hoi,

Ik kan een aantal oorzaken bedenken waarbij het eigenlijk in alle gevallen neerkomt op het volgende: de webserver vanwaar je de afbeeldingen opvraagt vindt dat de afbeeldingen niet bestaan.

Dit kan zijn omdat de afbeeldingen daadwerkelijk niet bestaan (het pad naar de afbeelding is verkeerd), of omdat de server ze weigert te serveren (en net doet alsof ze er niet zijn).

Bij de aanroep van die Gateway API geef je het IP mee van de persoon die de pagina opvraagt waarmee dit script uitgevoerd wordt. Met andere woorden, als ik in mijn browser via dat script webcam-afbeeldingen opvraag, wordt mijn IP meegestuurd. Dit wordt waarschijnlijk gedaan als een soort van beveiliging zodat alleen de "juiste" personen de afbeeldingen zien. Mijn vermoeden is dat dat de reden is dat je afbeeldingen niet op kunt roepen (het IP waarmee je dit probeert heeft geen toegang). Maar het kan natuurlijk ook iets compleet anders zijn.

Heeft die API een FAQ (Frequently Asked Questions) met hierin informatie wat doorgaans de oorzaken zijn dat je afbeeldingen niet ziet? Of heb je toevallig een bronvermelding naar documentatie van deze API zodat we... euh, even mee kunnen kijken 
Offline cindy81 - 09/08/2015 21:15
Avatar van cindy81 Nieuw lid de plaatjes hebben intussen deze namen op de plaatjes server
c15901_picture55b5f3de025f0.jpg

c15901 komt overeen met het acount

wat dus overeen komt met $cam_picture = "http://cams.images-dnxlive.com/snapshots/" . $cam['account'] .
"_webcam_200x150.jpg"; snapshots werkt wel maar zijn vaste plaatjes

nu heb ik begrepen dat
het andere opgelost kan worden door array

dat hij kijkt naar de naam acount daarna alles telt in de overeenkomende reeks en dat alles weergeeft

of iets in deze richting echo "$key => $val<br>";

k wil eigenlijk alle arrays weergeven

maar ik sap de hele rest van arrays niet verders word ik niks wijzer van de handlijding en support zit er niet echt op
komt er dus op neer kijk maar op forums rond en programeer maar raak

de handlijding is hier te vinden
http://img.medi...ateway.pdf
Offline Thomas - 09/08/2015 21:43 (laatste wijziging 09/08/2015 22:04)
Avatar van Thomas Moderator Ik zal even een voorbeeldje maken hoe je alle afbeeldingen van alle cams kan doorlopen.

Je kunt een array, wat een type variabele is, zien als een collectie van waarden waarbij elke waarde op een bepaalde positie opgeslagen is. Vergelijk dit bijvoorbeeld met een rij van genummerde brievenbussen in een flatgebouw. En in elke postbus kan weer nieuwe informatie zitten. De truuk is om te weten hoe je de brievenbussen aan moet spreken om de informatie er uit te peuteren .

EDIT: zoals in de handleiding staat aangegeven zul je zelf je ontwerp moeten maken, hier is niets voor geregeld, de Gateway serveert alleen maar webcam gerelateerde content.

Voorbeeld:
  1. <?php
  2. // voor debugging
  3. error_reporting(E_ALL|E_STRICT);
  4. ini_set('display_errors', 'stdout');
  5.  
  6. // voor correcte weergave
  7. header('Content-Type: text/html; charset=UTF-8');
  8. ?>
  9. <!DOCTYPE html>
  10. <head>
  11. <title>webcam test</title>
  12. </head>
  13.  
  14. <body>
  15. <?php
  16. require_once './Gateway.class.php';
  17.  
  18. define('API_URL', 'http://cams.dnxlive.com/gateway/gateway.php');
  19.  
  20. $args = array(
  21. 'account' => 'XXXXX-XXXXX', // je account id, deze zou ik niet overal laten rondslingeren
  22. 'ip' => $_SERVER['REMOTE_ADDR'],
  23. );
  24.  
  25. // hulpfunctie
  26. function escape($in) {
  27. return htmlentities($in, ENT_QUOTES, 'UTF-8');
  28. }
  29.  
  30. $GW = new Gateway(API_URL);
  31. // Je kunt eventueel debug aanzetten, maar dat is niet erg verhelderend :).
  32. // $GW->debug = true;
  33.  
  34. // acties: getCams, getProfile, ...
  35. $success = $GW->query('getProfile', $args);
  36. if ($success) {
  37. $res = $GW->getResponse();
  38. // doorloop de webcams
  39. foreach ($res['cams'] as $camId => $camData) {
  40. ?><h1>webcam <?php echo escape($camData['nickname']) ?></h1><?php
  41. // doorloop de afbeeldingen
  42. foreach ($camData['pictures'] as $picture) {
  43. ?><img src="<?php echo escape($picture) ?>" alt="" /><?php
  44. }
  45. ?><hr /><?php
  46. }
  47. } else {
  48. ?><h2>no cake</h2>
  49. <p>Het ophalen van gegevens is mislukt.</p><?php
  50. }
  51. ?></body>
  52. </html>
Offline cindy81 - 09/08/2015 22:57
Avatar van cindy81 Nieuw lid ok ik zal hem morgen even testen
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.196s