Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wstawianie Aukcji WEBAPI
Forum PHP.pl > Forum > Przedszkole
andrzej7322
Witam, mam problem który poolega na tym że nie mogę wstawić aukcji przez funkcje doNewAuctionExt pomimo iż poprawnie łącze sieę z testwebapi.pl. Oto mój kod:
  1. <?
  2. class WebAPISoapClient extends SoapClient
  3. {
  4. const COUNTRY_PL = 1;
  5. const COUNTRY_TESTWEBAPI = 228;
  6. const QUERY_ALLEGROWEBAPI = 1;
  7. const LIFETIME_3DAYS = 0;
  8. const LIFETIME_5DAYS = 1;
  9. const LIFETIME_7DAYS = 2;
  10. const LIFETIME_10DAYS = 3;
  11. const LIFETIME_14DAYS = 4;
  12. const TRANSPORT_COST_SELLER = 0;
  13. const TRANSPORT_COST_BUYER = 1;
  14. const TRANSPORT_OPTION_POST = 1;
  15. const TRANSPORT_OPTION_POSTPRIORITY = 2;
  16. const TRANSPORT_OPTION_COURIER = 4;
  17. const TRANSPORT_OPTION_PERSONAL = 8;
  18. const TRANSPORT_OPTION_OTHER = 16;
  19. const TRANSPORT_OPTION_ABROAD = 32;
  20. const PAYMENT_OPTION_PREPAID = 1;
  21. const PAYMENT_OPTION_POSTPAID = 2;
  22. const PAYMENT_OPTION_ALLEGRO = 4;
  23. const PAYMENT_OPTION_ESCROW = 8;
  24. const PAYMENT_OPTION_OTHER = 16;
  25. const OPTION_BOLD = 1;
  26. const OPTION_THUMB = 2;
  27. const OPTION_HIGHLIGHT = 4;
  28. const OPTION_PREMIUM = 8;
  29. const OPTION_CATEGORY = 16;
  30. const OPTION_HOME = 32;
  31.  
  32. public function __construct()
  33. {
  34. parent::__construct('http://webapi.allegro.pl/uploader.php?wsdl');
  35. }
  36.  
  37. public static function resize($url)
  38. {
  39. $image = file_get_contents($url);
  40.  
  41. // wlasnie tutaj uzywamy Base64 recznie, ale nigdzie indziej!
  42. while( strlen( base64_encode($image) ) > 200000)
  43. {
  44. $temp = imagecreatefromstring($image);
  45. $x = ceil(0.9 * imagesx($temp) );
  46. $y = ceil(0.9 * imagesy($temp) );
  47.  
  48. $image = imagecreatetruecolor($x, $y);
  49. imagecopyresized($image, $temp, 0, 0, 0, 0, $x, $y, imagesx($temp), imagesy($temp) );
  50.  
  51. imagejpeg($image, 'temp.jpg', 75);
  52. $image = file_get_contents('temp.jpg');
  53. unlink('temp.jpg');
  54. }
  55.  
  56. return $image;
  57. }
  58. }
  59. $config = array(
  60. 'login' => 'xxx',
  61. 'password' => 'xxx',
  62. 'apiKey' => 'xxx'
  63. );
  64.  
  65. $country = WebAPISoapClient::COUNTRY_TESTWEBAPI;
  66.  
  67. try
  68. {
  69. $client = new WebAPISoapClient();
  70. // pobieranie wersji WebAPI
  71. $version = $client->doQuerySysStatus(WebAPISoapClient::QUERY_ALLEGROWEBAPI, $country, $config['apiKey']);
  72. // wlasciwe logowanie do serwisu
  73. $session = $client->doLogin($config['login'], $config['password'], $country, $config['apiKey'], $version['ver-key']);
  74. echo 'twoje id : '.$session['session-handle-part'];
  75. }
  76. catch(SoapFault $soapFault)
  77. {
  78. }
  79. ?>

Próbowałem w try dodać funkcję z tutoriala i nie działa.
Z góry dziękuję za pomoc.
kipero
W którym miejscu wywołujesz funkcję doNewAuctionExt? W tym kodzie tego nie ma.
andrzej7322
wywołuje ja w try tak jak jest w tutorialu lecz nie działa więc jej nie umieściłem w tym kodzie ale tak wygląda kod gdy jest umieszczona pokazuje tylko moment w którym ja umieszczam moj plik nadal wyglada tak jak poprzednio tylko zmieniam try na to
  1. <?
  2. try
  3. {
  4. $client = new WebAPISoapClient();
  5. // pobieranie wersji WebAPI
  6. $version = $client->doQuerySysStatus(WebAPISoapClient::QUERY_ALLEGROWEBAPI, $country, $config['apiKey']);
  7. // wlasciwe logowanie do serwisu
  8. $session = $client->doLogin($config['login'], $config['password'], $country, $config['apiKey'], $version['ver-key']);
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15. $empty = new stdClass();
  16. $empty->{'fvalue-string'} = '';
  17. $empty->{'fvalue-int'} = 0;
  18. $empty->{'fvalue-float'} = 0;
  19. // to pole w formie pustej ma zawierać spację
  20. $empty->{'fvalue-image'} = ' ';
  21. $empty->{'fvalue-datetime'} = 0;
  22. $empty->{'fvalue-boolean'} = false;
  23.  
  24. $form = array();
  25.  
  26. // pamiętaj, że maksymalna długość 50 "znaków" liczona jest w bajtach, dlatego polskie znaki, czy encje HTMLa liczone są za kilka bajtów
  27. $field = clone $empty;
  28. $field->{'fid'} = 1;
  29. $field->{'fvalue-string'} = 'Aukcja FooBar';
  30. $form[] = $field;
  31.  
  32. $field = clone $empty;
  33. $field->{'fid'} = 2;
  34. $field->{'fvalue-int'} = 48878;
  35. $form[] = $field;
  36.  
  37. $field = clone $empty;
  38. $field->{'fid'} = 3;
  39. $field->{'fvalue-datetime'} = time();
  40. $form[] = $field;
  41.  
  42. $field = clone $empty;
  43. $field->{'fid'} = 4;
  44. $field->{'fvalue-int'} = WebAPISOAPClient::LIFETIME_7DAYS;
  45. $form[] = $field;
  46.  
  47. $field = clone $empty;
  48. $field->{'fid'} = 5;
  49. $field->{'fvalue-int'} = 69;
  50. $form[] = $field;
  51.  
  52. $field = clone $empty;
  53. $field->{'fid'} = 8;
  54. $field->{'fvalue-float'} = 666;
  55. $form[] = $field;
  56.  
  57. $field = clone $empty;
  58. $field->{'fid'} = 9;
  59. $field->{'fvalue-int'} = WebAPISOAPClient::COUNTRY_PL;
  60. $form[] = $field;
  61.  
  62. // 16 to województwo zachodniopomorskie, numer województwa można pobrać z listy opisu pola
  63. $field = clone $empty;
  64. $field->{'fid'} = 10;
  65. $field->{'fvalue-int'} = 16;
  66. $form[] = $field;
  67.  
  68. $field = clone $empty;
  69. $field->{'fid'} = 11;
  70. $field->{'fvalue-string'} = 'Szczecin';
  71. $form[] = $field;
  72.  
  73. $field = clone $empty;
  74. $field->{'fid'} = 12;
  75. $field->{'fvalue-int'} = WebAPISOAPClient::TRANSPORT_COST_BUYER;
  76. $form[] = $field;
  77.  
  78. // flagi składamy przez ich logiczne sumowanie
  79. $field = clone $empty;
  80. $field->{'fid'} = 13;
  81. $field->{'fvalue-int'} = WebAPISOAPClient::TRANSPORT_OPTION_POST | WebAPISOAPClient::TRANSPORT_OPTION_POSTPRIORITY;
  82. $form[] = $field;
  83.  
  84. $field = clone $empty;
  85. $field->{'fid'} = 14;
  86. $field->{'fvalue-int'} = WebAPISOAPClient::PAYMENT_OPTION_PREPAID | WebAPISOAPClient::PAYMENT_OPTION_ALLEGRO;
  87. $form[] = $field;
  88.  
  89. $field = clone $empty;
  90. $field->{'fid'} = 15;
  91. $field->{'fvalue-int'} = WebAPISOAPClient::OPTION_BOLD | WebAPISOAPClient::OPTION_THUMB | WebAPISOAPClient::OPTION_HIGHLIGHT;
  92. $form[] = $field;
  93.  
  94. $i = 0;
  95.  
  96. // maksymalnie 8 zdjęć!
  97. foreach( array('zdjecie1.jpg', 'zdjecie2.png', '/var/www/zdjecie3.gif', 'http://example.com/zdjecie4.bmp') as $image)
  98. {
  99. $field = clone $empty;
  100. $field->{'fid'} = 16 + $i;
  101. $field->{'fvalue-image'} = WebAPISoapClient::resize($image);
  102. $form[] = $field;
  103. $i++;
  104. }
  105.  
  106. $field = clone $empty;
  107. $field->{'fid'} = 24;
  108. $field->{'fvalue-string'} = '<h1>Opis</h1>
  109.  
  110. <p>Nasza aukcja - powered by <a href="http://wrzasq.pl/" title="Tworzenie stron i aplikacji internetowych">Wrzasq.pl</a>.</p>
  111.  
  112. <div><GALERIA></div>.';
  113. $form[] = $field;
  114.  
  115. $local = uniqid();
  116. $item = $client->doNewAuctionExt($session['session-handle-part'], $form, 0, $local);
  117. $check = $client->doVerifyItem($session['session-handle-part'], $local);
  118.  
  119. if($item['item-id'] == $check)
  120. {
  121. echo '<p>Wystawiono przedmiot <a href="http://allegro.pl/item' . $item['item-id'] . '.html">' . $item['item-id'] . '</a>.</p>';
  122. }
  123. else
  124. {
  125. echo '<p class="error">Coś poszło nie tak.</p>';
  126. }
  127.  
  128.  
  129.  
  130.  
  131.  
  132. echo 'twoje id : '.$session['session-handle-part'];
  133. }
  134. ?>

Po umieszczeniu nic mi nie wyświetla nawet echo twoje id
gdy dam to echo przed ta teraz dodana funkcja to działa ale gdy jest na końcu tak jak teraz to nie działa

proszę o pomoc.

Doszedłem do tego że po wykonaniu tej funkcji
  1. $item = $client->doNewAuctionExt($session['session-handle-part'], $form, 0, $local);
kod staje sie niewidoczny tzn. gdy przed ta funkcja dam jakies echo to dziala a gdy zaraz po niej to nie jest widoczne i nadal mam pusta strone ktora nie dodaje nic do testwebapi.pl
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.