בהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש
-
@איש-נחמד כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
ניסית עם curl ?
דהיינו?
@איש-נחמד כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
עם תווים באנגלית הבקשה כן נשלחת?
עם אנגלית זה נשלח עם התווים הרגילים
עריכה: התכוונת עם urlencode ? אז גם באנגלית לא נשלח -
@שמואל-ש כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
דהיינו?
function callGoogleAPI($url, $query){ if(!is_array($query))return false; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($query)); // Receive server response ... curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if($http_code != 200) return( ['status' => false, 'answer' => $http_code ] ); curl_close ($ch); return( ['status' => true, 'answer' => $server_output;] ); } $url = 'https://script.google.com/macros/s/AKfycbwO5ZjANufUiWfAsijJhinMewr-Z1Blquzh4DtCawM1cjGDeHTaQio0gAGIU7WcKms5ww/exec'; $query = [ 'name' => $name, 'subject' => $subject, 'body' => $body, 'filing' => $filing, 'recipient' => $recipient ]; $call_api = callGoogleAPI( $url, $query ); var_dump( $call_api );
-
@שמואל-ש כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
@איש-נחמד זה לPHP? איפה להכניס את זה? בנוסף/בקובץ אחר? ומה הפרמטר השני לשליחה?
זו דוגמא למימוש של curl ב-PHP, ממליץ לך לחפש מידע על הפונקציה הזו:
https://www.php.net/manual/en/ref.curl.php
כל השאר די מקביל לקוד המקורי שלך עם מבניות קצת שונה בסה"כ -
@שמואל-ש כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
הקישור כלל לא מופעל-הבקשה לא מגיעה בכלל
האם הכנסת את הURL למשתנה $url?
@שמואל-ש כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
אגב, אם עשיתי בסקריפט שאת הקישור שלו אני מריץ שיחזיר ערך כלשהוא, איך אני מדפיס את הערך המוחזר?
תכתוב echo לפני הרצת הקישור [אם אתה מקבל בחזרה מהסקריפט JSON, זה לא ייראה לך כסטרינג רגיל תפעיל על זה את פונקציית json_decode ותיגש לזה כמערך]
-
@לעזור-לכולם כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
האם הכנסת את הURL למשתנה $url?
איפה יש כזה משתנה?
@לעזור-לכולם כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
תכתוב echo לפני הרצת הקישור
כתבתי echo על $image וחזר לי איזשהוא כתובת
-
@שמואל-ש כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
@איש-נחמד חזר לי כבר מה שהוחזר באמת.
אבל עכשיו הטמעתי את זה בימות המשיח-קובץ PHP שקורא לגוגל סקריפט, אך בקריאה הוא משום מה מוסיף & בסוף, יש לך מושג למה?
וכן התווים עדיין בג'יבריש!אני לא יכול לדעת מה הבעיה אם לא תביא את הפלט
נסה את זה:
var_dump( urldecode( $image ) );
-
-
@איש-נחמד כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
נסה את זה:
לכתוב ככה
<?php $name = 'ניסוי; $subject = 'ניסיון; $body = 'נסיון; $filing = '1f_********cM'; $recipient = '******@GMAIL.COM'; $image = ("https://script.google.com/macros/s/AKfycbwO5ZjANufUiWfAsijJhinMewr-Z1Blquzh4DtCawM1cjGDeHTaQio0gAGIU7WcKms5ww/exec?name=$name&subject=$subject&body=$body&filing=$filing&recipient=$recipient"); var_dump( urldecode( $image ) ); ?>
?
-
@שמואל-ש כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
להכניס את השורה האחרונה למשתנה?
האם ידוע לך מה עושות הפונקציות:
urldecode
,var_dump
?
אם לא - אני ממליץ לך להיכנס לאתר הרשמי וללמוד: https://php.net -
@איש-נחמד כתב בבהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש:
urldecode
כן, ידוע לי, הפונקצייה urldecode מקודדת כתובות URL, והפונקצייה var_dump מחזירה את ה'מידע' על המשתנה, אך איך צריך לכתוב את זה-זה לא הבנתי, הרי לכאורה היו צריכים פשוט לעשות
$image = file_get_contents(urldecode("https://script.google.com/macros/s/AKfycbwO5ZjANufUiWfAsijJhinMewr-Z1Blquzh4DtCawM1cjGDeHTaQio0gAGIU7WcKms5ww/exec?name=$name&subject=$subject&body=$body&filing=$filing&r)ecipient=$recipient");
לא?
ואגב, זה שמודפס לי המידע לא כ"כ עוזר, כי זה בתוך קו של ימות המשיח