בהרצת קישור בPHP ע"י file_get_contents עם תווים בעברית, התווים נהיים ג'יבריש
-
@שמואל-ש כתב בבהרצת קישור ב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");
לא?
ואגב, זה שמודפס לי המידע לא כ"כ עוזר, כי זה בתוך קו של ימות המשיח -
@איש-נחמד כרגע הוא כותב לי שזה STRING, והוא מציג לי את כל הקישור בעברית ותקין לחלוטין! אז איפה הקישור מתפקסס?
גם בדוחו"ת של ימות המשיח ששם רואים את הקישור שהופעל (הקישור לקוד ב-PHP שמפעיל את גוגל סקריפט) גם רואים שהוא שלח אותם בעברית, ככה שהקישורים נשלחים תקינים ואיפה שהוא בדרך הוא מתג'ברש...-כנראה בשליחה למעשה -
<?php $name = 'שם'; $subject = 'נושא'; $body = 'תוכן'; $filing = '1f_cM'; $recipient = 'A1234@GMAIL.COM'; function callGoogleAPI($url, $query){ if(!is_array($query))return false; $ch = curl_init(); $url .= '?'.http_build_query($query); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8'); // 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, $call_api['answer'] );