-
@שמואל4
קובץ A נראה כך.include 'C:\wamp64\www\my_php/Login.php'; // הגדרת שלוחה בימות $path = "ivr2:4/1"; // הגדרת שם תקייה $Program_name = "שלום"; // פתיחת קובץ ראשי include 'C:\wamp64\www\my_php/main.php';
וקובץ B נראה כך:
include 'C:\wamp64\www\my_php/Login.php'; // הגדרת שלוחה בימות $path = "ivr2:4/2"; // הגדרת שם תקייה $Program_name = "עולם"; // פתיחת קובץ ראשי include 'C:\wamp64\www\my_php/main.php';
ואז אני מריץ כל אחד בשעה שלו.
אבל אם אני רוצה להריץ את שניהם, אז יש לי קובץ אחד בשם Master שהוא מריץ את שניהם בצורה כזו:include 'C:\wamp64\www\my_php/A.php'; include 'C:\wamp64\www\my_php/B.php';
ובכל זאת מתקבלת שגיאה
-
@ass אמר בשגיאת Login.php כבר בשימוש:
אבל אם אני רוצה להריץ את שניהם, אז יש לי קובץ אחד בשם Master שהוא מריץ את שניהם בצורה כזו:
מה זה ההמצאה הזו? אתה רוצה להריץ שתי דברים באותו זמן לא מכניסים את שתיהם לאותו קובץ, זה שתי דברים נפרדים.
יכול להיות שכן אפשר לסדר זה יעבוד לך ככה, אבל זו לא הדרך האמיתית לעשות את הדברים.
הדרך הנכונה זה אם אתה רוצה להפעיל את כל הדברים יחד תפעיל 2 תהליכים של שתי הסקריפטים.
-
@yossiz אמר בשגיאת Login.php כבר בשימוש:
כי זה פשוט לא יעשה את ה include, והוא רוצה להשתמש עם include שבאמת יעשה את זה עובד פעם ויביא את כל הקוד של הקובץ פעם נוספת - שזה כמובן חיקוי עקום לשימוש עם פונקציות.
-
- הקובץ Login.php מתחבר לימות.
- הקובץ A ו B מגדירים את שם התקייה ושם הקובץ להעלאה, ואת הנתיב לשלוחה בימות (כלומר לכל קובץ (A או B) יש את הנתיב ושם התקייה שלו).
- קובץ main משתמש במשנים שהוגדרו ב A או B ומבצע העלאה לשלוחה.
- קובץ A רץ ע"י מתזמן משימות ביום א', וקובץ B ביום ב'.
- קובץ Master מריץ A ו B ביחד.
-
@ass ננסה טיפה לעזור יותר מעשי, בלי שום מחלקה - אני לא חושב שיש בה צורך.
קובץ פונקציות: (
functions.php
) :<?php $YMurls = array( "normal" => "https://www.call2all.co.il/ym/api/", "private" => "https://private.call2all.co.il/ym/api/" ); function YMapi($isPrivate, $ws, $parm) { global $YMurls; if ($isPrivate) { $YemotUrl = $YMurls['private']; } else { $YemotUrl = $YMurls['normal']; } $handle = curl_init(); curl_setopt_array( $handle, array( CURLOPT_URL => $YemotUrl . $ws, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $parm, CURLOPT_RETURNTRANSFER => true, ) ); $data = curl_exec($handle); $data = json_decode($data, true); curl_close($handle); return $data; } ?>
עכשיו בכל קובץ שקשור אנחנו מכניסים include פעם אחת של הקובץ פונקציות שלנו:
include 'C:\wamp64\www\my_php/functions.php';
עכשיו, למשל קובץ A.php צריך לקבל את שם הנושא הזה מהAPI של nodebb ולהכניס אותו לקובץ במערכת כTTS, אז הוא יראה ככה - כולל ה include:
<?php include 'C:\wamp64\www\my_php/functions.php'; // מביא קובץ פונקציות if (!function_exists('YMapi')) { throw new Exception("function YMapi Not exists, check include or file location"); } $getUrl = "https://tchumim.com/api/topic/11914/"; $tchumimGetTopic = json_decode(file_get_contents($getUrl), true); //משתנה tchumimGetTopic מכיל JSON מהפורום //העלאת הקובץ למערכת $token = "0777777:1234"; // טוקן $path = "/0/1010"; // לאן להעלות $NewFileName = "2"; // שם הקובץ $text = "שם הנושא המבוקש הוא :" . $tchumimGetTopic['title']; $ym = YMapi("normal", "UploadTextFile", [ "token" => $token, "what" => "ivr2:" . $path . "/" . $NewFileName . ".tts", "contents" => $text ]); if ($ym["responseStatus"] === "OK") { echo "הקובץ הועלה בהצלחה"; } else { echo "שגיאה בהעלאה, התשובה המלאה היא: " . json_encode($ym); } ?>
כנל בקבצים נוספים, על זה הדרך, כמובן זה הסבר בסיסי לדוגמא ספציפית, אני לא יכתוב בשבילך את הפרוייקט שלך, אבל לדעתי זו הדרך.
-