{"id":228564,"date":"2022-10-23T17:34:00","date_gmt":"2022-10-23T14:34:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228564"},"modified":"2022-11-09T03:02:04","modified_gmt":"2022-11-09T00:02:04","slug":"kaugtaotlused-rakendusega-wp_remote_get","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/kaugtaotlused-rakendusega-wp_remote_get\/","title":{"rendered":"Kaugtaotlused rakendusega wp_remote_get"},"content":{"rendered":"\n<p>Kui loete m\u00f5nda minu varasemat postitust kaugfailide allalaadimise kohta, siis teate, et vanad harjumused muutuvad raskeks, kuna ma sageli kasutan, <code>file_get_contents<\/code>mitte <code>wp_remote_get<\/code>.<\/p>\n<p>Nii nagu blogi pidamiselgi, arvasin, et oleks kasulik jagada lihtsat n\u00e4idet, kuidas seda <code>wp_remote_get<\/code>oma igap\u00e4evat\u00f6\u00f6s kasutada.<\/p>\n<p>Allolev postitus on vaid osa selle kasutamisest. See t\u00e4hendab, et see ei n\u00e4ita, kuidas kujundada selle \u00fcmber n\u00e4iteks klass v\u00f5i kasutajaliides, mis v\u00f5imaldab kasutajatel faili \u00fcles laadida. Kuid sellest peaks piisama asjade k\u00e4ivitamiseks.<\/p>\n<p>Ja ma lisan, kuidas API dokumentatsiooni selle \u00fcmber kasutada ja m\u00f5ista, kuidas seda sellise funktsiooni kasutamisel kasutada.<\/p>\n<h2>Miks kasutada wp_remote_get?<\/h2>\n<p>Kuigi ma ei kasuta alati WordPressi API-t (mis on tavaliselt tingitud sellest, et vanad harjumused kanduvad edasi v\u00f5i kuna ma pole funktsioonist teadlik), proovin.<\/p>\n<p>Ja ma usun kindlalt, et kui t\u00f6\u00f6tate rakenduse konkreetses keskkonnas ja see rakendus pakub millegi jaoks API-d, peaksite seda kasutama.<\/p>\n<h3>Kuidas lugeda dokumente<\/h3>\n<p>Kui olete tuttav dokumentatsiooni kasutamisega, v\u00f5ite selle jaotise vahele j\u00e4tta.<\/p>\n<p>Seda \u00f6eldes <code>wp_remote_get<\/code>\u00fctleb dokumentatsioon j\u00e4rgmiselt:<\/p>\n<blockquote>\n<p>Tooge HTTP-p\u00e4ringu t\u00f6\u00f6tlemata vastus <strong>GET<\/strong> &#8211; meetodi abil. Tulemused h\u00f5lmavad HTTP p\u00e4iseid ja sisu.<\/p>\n<\/blockquote>\n<p>Lisateavet leiate nii sellelt <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_remote_get\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Codexi<\/a> lehelt kui ka sellelt lehelt <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_remote_get\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">arendajaressurssidest<\/a>. Kuid enne funktsiooni tegelikku kasutamist on oluline m\u00f5ista, mida see aktsepteerib ja mida see tagastab.<\/p>\n<p>Ja funktsioon aktsepteerib kahte parameetrit:<\/p>\n<ol>\n<li>URL, millele taotlus esitatakse,<\/li>\n<li>taotluse jaoks vajalik argumentide kogum (mis j\u00e4\u00e4b v\u00e4ljapoole selle postituse ulatust).<\/li>\n<\/ol>\n<p>Ja wp_remote_get tagastab p\u00e4ringu tulemuse p\u00f5hjal segased tulemused. Vastavalt arendaja ressurssidele:<\/p>\n<blockquote>\n<p>(WP_Error|massiivi) Vastus v\u00f5i WP_Error eba\u00f5nnestumisel.<\/p>\n<\/blockquote>\n<p>Sel hetkel teame, mida funktsioon teeb, mida see vastu v\u00f5tab ja mida tagastab. Nii et meil on lihtsa n\u00e4ite loomisega piisavalt j\u00e4tkata.<\/p>\n<h3>Kasutades wp_remote_get<\/h3>\n<p>Kui k\u00f5ik \u00fclaltoodu on paigas, on siin lihtne n\u00e4ide, kuidas antud URL-ilt faili alla laadida. Eeldan, et URL on teie kohalikus serveris (sest ma ei taha selles postituses teistelt serveritelt teavet k\u00fcsida), mist\u00f5ttu on domeen dot-local tippdomeen.<\/p>\n<p><a href=\"https:\/\/gist.github.com\/tommcfarlin\/690a76864cd305dda1b3456faba3fff2#file-00-wp_remote_get-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kommentaarid peaksid selgitama, mis toimub<\/a>, kuid p\u00e4rast seda annan veel m\u00f5ned m\u00f5tted.<\/p>\n<pre><code>&lt;?php\n\n$file = wp_remote_get( 'https:\/\/example.local\/file.png' );\nif (! isset( $file['headers'])) {\n\n  \/*\n   * TODO: You may want to return early here, display an error,\n   * or provide messaging to the user.\n   *\/\n}\n\nif (is_wp_error( $file)) {\n\n  \/*\n   * TODO: Display an error message to the user that the file they\n   * requested was not successfully retrieved.\n   *\/\n}\n\n\/* \n * Get the base directory where we'll store the file. This will just be \n * wp-content\/uploads.\n *\/\n$upload_dir   = wp_upload_dir();\n$upload_dir = trailingslashit( $upload_dir['basedir'] );\n\n\/*\n * Give the file a name that we'll use to write to disk. And\n * build the path to the file including the directory and file name.\n *\/\n$uploaded_filename = 'uploaded.png';\n$file_path         = $upload_dir. $uploaded_filename;\n\n\/*\n * Open a resource for writing the file, write the data, and then close\n * the resource.\n *\/\n$resource = fopen( $file_path, 'w' );\nfwrite( $resource, $file['body'] );\nfclose( $resource );\n<\/code><\/pre>\n<p>K\u00f5ige olulisemad asjad on j\u00e4rgmised:<\/p>\n<ol>\n<li>Kontrollige p\u00e4iseid ja veenduge, et need on seadistatud. Kui ei, siis pole vaja faili p\u00f5hiosa haarata.<\/li>\n<li>Kui on viga, siis peame sellega graatsiliselt hakkama saama.<\/li>\n<li>Kui k\u00f5ik muu \u00f5nnestub, oleme valmis faili kettale kirjutama. Ma kasutan selleks PHP failifunktsioone. See j\u00e4\u00e4b postituse ulatusest pisut v\u00e4lja, kuid peaks olema h\u00f5lpsasti m\u00f5istetav, kui uurite allolevaid linke.<\/li>\n<\/ol>\n<p>L\u00f5ppkokkuv\u00f5ttes <code>wp_remote_get<\/code>pakub kasutamine teile palju funktsioone, mis on \u00fcmbritsetud h\u00f5lpsasti kasutatava funktsiooniga.<\/p>\n<h2>M\u00f5ned PHP ressursid<\/h2>\n<ul>\n<li><a href=\"https:\/\/php.net\/manual\/en\/function.fopen.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">fopen<\/a><\/li>\n<li><a href=\"https:\/\/php.net\/manual\/en\/function.fwrite.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">fwrite<\/a><\/li>\n<li><a href=\"https:\/\/php.net\/manual\/en\/function.fclose.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">fclose<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nagu blogi pidamiselgi, arvasin, et oleks kasulik jagada lihtsat n\u00e4idet, kuidas kasutada wp_remote_get oma igap\u00e4evat\u00f6\u00f6s.<\/p>\n","protected":false},"author":1,"featured_media":168036,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894,916,842,863],"tags":[1165],"class_list":["post-228564","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","category-muud","category-opetused","category-wordpress-4","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=228564"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/228564\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/168036"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=228564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=228564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=228564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}