racavedigger.com
Daily insights on Bitcoin and crypto markets
  • Facebook
  • Pinterest
  • Home
  • News

האם Google Drive תומך ב- PHP

Νίσα

העלה קובץ ל- Google Drive באמצעות PHP

סיכום:

גוגל דרייב הוא שירות אחסון בענן המאפשר למשתמשים לאחסן ולשתף קבצים. במאמר זה נדון כיצד להעלות קבצים לכונן Google באמצעות PHP. אנו נסקור את הצעדים המעורבים בבניית סקריפט PHP להעלאת קבצים ל- Google Drive ולהסביר את התהליך בפירוט. המאמר יספק גם הוראות כיצד ליצור פרויקט Google ולאפשר את ה- API של Drive, כמו גם כיצד ליצור טבלת מסד נתונים לאחסון מידע על קבצים.

נקודות מפתח:

1. התקנת ספריית לקוח PHP: לפני שתתחיל, תצטרך להתקין את ספריית הלקוחות של PHP עבור Google Drive. הוראות להתקנה ניתן למצוא בספריית הלקוחות של Google API PHP Readme.

2. האם Google Drive תומך ב- PHP?: כן, Google Drive תומך ב- PHP. הוא מספק שירות API של REST המאפשר לך להעלות ולנהל קבצים באופן תכנותי בכונן Google באמצעות PHP.

3. העלאת קבצים ל- Google Drive: כדי להעלות קבצים ל- Google Drive באמצעות PHP, תצטרך לבנות טופס HTML כדי לבחור את הקובץ להעלאה. הקובץ יועלה לשרת המקומי, והמידע שלו יוחדר למסד הנתונים. לאחר מכן המשתמש יצטרך לאמת עם חשבון Google שלו, והקובץ יועלה ל- Google Drive מסקריפט PHP. סטטוס העלאת הקובץ יוצג, יחד עם קישור כדי להציג את הקובץ בכונן Google.

4. יצירת פרויקט Google ומאפשרת API של Drive: כדי לבצע שיחות API ל- Google Drive, תזדקק למפתחות API. אתה יכול להשיג מפתחות אלה על ידי יצירת פרויקט Google ומאפשר את ה- API של Drive Drive. הוראות כיצד ליצור פרויקט Google ולאפשר את ה- API של הכונן ניתנות במאמר.

5. יצירת טבלת מסד נתונים: על מנת לאחסן מידע על קבצים בשרת המקומי, תצטרך ליצור טבלת מסד נתונים. המאמר כולל הוראות כיצד ליצור את הטבלה הדרושה.

שאלות:

1. כיצד אוכל להתקין את ספריית הלקוחות של PHP עבור Google Drive?

כדי להתקין את ספריית הלקוחות של PHP עבור Google Drive, אתה יכול לעקוב אחר ההוראות המופיעות בספריית הלקוחות של Google API PHP README. הקפד לבדוק את הגרסה האחרונה של הספרייה במאגר חבילות PHP.

2. האם אוכל להשתמש ב- PHP כדי להעלות קבצים ל- Google Drive?

כן, Google Drive תומך ב- PHP. אתה יכול להשתמש ב- PHP כדי להעלות קבצים באופן תכנותי ל- Google Drive על ידי שימוש בממשק API של Drive.

3. מהם הצעדים הכרוכים בהעלאת קבצים ל- Google Drive באמצעות PHP?

השלבים המעורבים בהעלאת קבצים לכונן Google באמצעות PHP הם כדלקמן:

  1. בנה טופס HTML לבחירת הקובץ להעלאה.
  2. העלה את הקובץ לשרת המקומי והכניס את המידע שלו למסד הנתונים.
  3. לאמת את המשתמש בחשבון Google שלו.
  4. העלה את הקובץ ל- Google Drive מסקריפט PHP.
  5. הצג את סטטוס העלאת הקובץ וספק קישור לצפייה בקובץ בכונן Google.

4. כיצד אוכל ליצור פרויקט Google ולאפשר את ה- API של Drive?

כדי ליצור פרויקט Google ולאפשר את ממשק ה- API של Drive, אתה יכול לבצע את הצעדים הבאים:

  1. עבור לקונסולת API של Google.
  2. בחר פרויקט קיים או צור חדש.
  3. בסרגל הצד, בחר “ספרייה” תחת החלק “ממשקי API ושירותים”.
  4. חפש את ה- API של Google Drive ומאפשר אותו.
  5. הזן את פרטי הבקשה שלך וציין את הדומיינים המורשים.
  6. בחר בסוג היישום כ”יישום אינטרנט “וספק את ה- URI המורשה להפניה מחדש.
  7. שימו לב למזהה הלקוח וסוד הלקוח לשימוש מאוחר יותר.

5. האם עלי ליצור טבלת מסד נתונים כדי להעלות קבצים לכונן Google באמצעות PHP?

כן, תצטרך ליצור טבלת מסד נתונים כדי לאחסן מידע על קבצים בשרת המקומי. טבלה זו תשמש כדי להכניס את פרטי הקובץ לפני העלאתו ל- Google Drive.

6. כיצד אוכל להציג את הקובץ שהועלה לכונן Google באמצעות PHP?

לאחר העלאת הקובץ ל- Google Drive באמצעות PHP, אתה יכול לספק קישור להצגת הקובץ בכונן Google. ניתן ליצור את הקישור באמצעות המזהה הייחודי של הקובץ המסופק על ידי API של Drive Drive.

7. האם אוכל להעלות קבצים מרובים ל- Google Drive באמצעות PHP?

כן, אתה יכול להעלות קבצים מרובים ל- Google Drive באמצעות PHP. באפשרותך לשנות את סקריפט ה- PHP כדי לטפל בהעלאות קבצים מרובות ולהעלות אותם ל- Google Drive בזה אחר זה.

8. האם יש מגבלת גודל קובץ להעלאת קבצים לכונן Google באמצעות PHP?

ל- Google Drive מגבלת גודל קובץ של 5 TB לקבצים בודדים. עם זאת, הגבלות מסוימות עשויות לחול על סמך תוכנית האחסון שלך ב- Google Drive. הקפד לבדוק את מגבלת האחסון של חשבון Google Drive שלך.

9. כיצד אוכל לטפל בשגיאות העלאת קבצים תוך העלאת קבצים לכונן Google באמצעות PHP?

כדי לטפל בשגיאות העלאת קבצים תוך העלאת קבצים לכונן Google באמצעות PHP, באפשרותך ליישם מנגנוני טיפול בשגיאות בסקריפט PHP שלך. ניתן לבדוק אם חריגה שגיאות נפוצות כגון מגבלת גודל הקובץ, פורמט קובץ לא חוקי או שטח אחסון לא מספיק בכונן Google.

10. האם אוכל למחוק קבצים מכונן Google באמצעות PHP?

כן, באפשרותך למחוק קבצים מכונן Google באמצעות PHP. ממשק ה- API של Drive מספק שיטות למחוק קבצים מכונן Google באופן תכנותי. אתה יכול להשתמש בשיטות אלה בסקריפט PHP שלך כדי למחוק קבצים על סמך הדרישות שלך.

העלה קובץ ל- Google Drive באמצעות PHP

יהיה עליך להתקין את ספריית הלקוחות של PHP ניתן לעשות זאת באמצעות מלחין. הוראות לכך ניתן למצוא בספריית הלקוחות של Google API של Google API. אני ממליץ לבדוק את מספר הגרסאות האחרון במאגר חבילות PHP

האם Google Drive תומך ב- PHP

Б эой сранице

Ы зé. С помדיר. Почем эо мого?

Эа сраница о бображае тех сах, кога воматеשיים си сисלוח рmе рגות р רבות ш רבות р р рוהים р рוהים которые нé. Сраница пересанет ообрוחים. До эого момента д.

Исочником запросов может сmжж вредоносfte по, подаееые моди базלוח нилm mчnзnзnчnчnчnчnчnчnчnчnчnчnчnчnчnчnчзדי ы з запросов. Еи ы иололalty ощий дדיר. O. Подробнרבה.

Проверка по сов может тelte пояяе, еи ы водите сדיר еами, или же водите запроы ченн часо.

העלה קובץ ל- Google Drive באמצעות PHP

גוגל דרייב הוא מנוע לאחסון ענן המאפשר למשתמשים לאחסן ולשתף קבצים ביעילות. הקבצים מסונכרנים בין מכשירים וניתן לגשת אליהם מכל מקום. Google Drive מקל על ניהול המסמכים ללא אחסון אישי. אתה יכול גם לנהל קבצים ותיקיות בכונן Google מרחוק באמצעות API של Drive.

ה Drive API מאפשר ניהול קבצים ותיקיות המאוחסנים בכונן Google. אתה יכול להעלות ולנהל קבצים מהאתר באמצעות API של Google Drive. אם יישום האינטרנט דורש לאפשר למשתמשים לגשת או לנהל קבצי כונן Google, API של Drive מספק דרך פשוטה להעלות קבצים ל- Google Drive באופן תכנותי עם שירות API של REST. הדרכה זו מסבירה כיצד העלה קובץ ל- Google Drive באמצעות PHP.

בדוגמה זו סקריפט PHP, התהליך הבא יושם ל העלה קבצים ל- Google Drive עם PHP.

  • בנה טופס HTML לבחירת הקובץ להעלאה.
  • העלה קובץ לשרת המקומי והכניס פרטי קבצים למסד הנתונים.
  • לאמת משתמש בחשבון Google.
  • העלה קובץ ל- Google Drive מסקריפט PHP.
  • הצגת סטטוס העלאת קובץ עם קישור לקובץ תצוגה בכונן Google.

לפני שתתחיל לבנות תסריט PHP ל העלה קובץ ל- Google Drive באמצעות PHP, עיין במבנה הקבצים.

google_drive_file_upload_with_php/ / ├── config.php ├── dbconfig.PHP ├── אינדקס.php ├── העלה.php ├── google_drive_sync.php ├── googledriveapi.מעמד.PHP └── CSS/ / סגנון └──.CSS

צור פרויקט Google ואפשר ל- API של Drive Drive

פרויקט Google נדרש לקבל את מפתחות ה- API שישמשו לביצוע שיחות API ל- Google Drive. אם כבר יש לך יישום קיים של Google, ניתן להשתמש במפתחות API ממנו. רק וודא שממשק ה- API של Google Drive מופעל בפרויקט Google הקיים הזה. אם אתה לא’t כל יישומי Google, בצע את הצעדים שלהלן לרישום היישום שלך במסוף המפתחים של גוגל ולקבל את מפתחות ה- API.

  • עבור לקונסולת API של Google.
  • בחר פרויקט קיים מרשימת הפרויקטים, או לחץ על פרוייקט חדש ליצירת פרויקט חדש:

Google-api-Console-project-Create-Codexworld

  • הקלד את ה שם הפרוייקט.
  • מזהה הפרויקט ייווצר אוטומטית תחת שדה שם הפרויקט. (אופציונלי) אתה יכול לשנות את מזהה הפרויקט הזה על ידי לַעֲרוֹך קישור, אבל זה אמור להיות ייחודי ברחבי העולם.
  • לחץ על לִיצוֹר לַחְצָן.
  • בסרגל הצד, בחר סִפְרִיָה תחת APIS ושירותים סָעִיף.
  • חפש את שירות ה- API של Google Drive ברשימת ה- API ובחר API של Google Drive.
  • לחץ על לְאַפשֵׁר כפתור כדי להפוך את ספריית ה- API של Google Drive API.
  • הזן את שם הבקשה.
  • בחר דוא”ל תמיכה.
  • ציין את דומיינים מורשים אשר יורשה לאמת באמצעות OAuth.
  • לחץ על להציל לַחְצָן.
  • בתוך ה סוג יישום קטע, בחר אפליקציית רשת.
  • בתוך ה URIS מורשה להפניה מחדש שדה, ציין את כתובת ההפניה מחדש.
  • לחץ על לִיצוֹר לַחְצָן.

תיבת דו -שיח תופיע עם פרטי לקוח OAuth, שימו לב למזהה הלקוח וסוד הלקוח לשימוש מאוחר יותר בסקריפט. מזהה לקוח וסוד לקוח זה מאפשרים לך לגשת לממשק API של Google Drive.

Google-api-Console-project-oauth-api-key-client-id-secret-codexworld

שימו לב: מזהה לקוח וכן סוד לקוח צריך לציין בזמן שיחת API של Google Drive Drive. כמו כן, יש להתאים את ה- URI המורשה להפניה מחדש לכתובת האתר המפורטת המפורטת בתסריט.

צור טבלת מסד נתונים

נדרשת טבלה במאגר האחסון לאחסון מידע על קבצים בשרת המקומי. ה- SQL הבא יוצר טבלת Drive_Files עם כמה שדות בסיסיים במסד הנתונים של MySQL.

לִיצוֹר שולחן `drive_files` (( 'id' Int((11) לֹא ריק Auto_increment, `file_name` Varchar((255) לְהַשְׁווֹת utf8_unicode_ci בְּרִירַת מֶחדָל ריק, `google_drive_file_id` Varchar((255) לְהַשְׁווֹת utf8_unicode_ci בְּרִירַת מֶחדָל ריק, 'נוצר' תאריך שעה לֹא ריק בְּרִירַת מֶחדָל current_timestamp(), ראשוני מַפְתֵחַ (('id')) מנוע=Innodb בְּרִירַת מֶחדָל Charset= UTF8 לְהַשְׁווֹת= utf8_unicode_ci;

ספריית PHP של Google Drive API

גוגל מספקת ספריית לקוח PHP לביצוע שיחות API של Drive, אך היא מכילה שירותים רבים נוספים המגיעים עם מספר עצום של קבצים והם גדולים בגודל. כדי להפוך את התהליך לפשוט, אנו נבנה ספרייה בהתאמה אישית שתטפל בשיחות API של Google Drive עם PHP.

שֶׁלָנוּ ספריית API של גוגל עוזר באימות עם חשבון Google ולגשת לממשק ה- API של הכונן עם API של REST באמצעות תלתל PHP. ספריית PHP מותאמת אישית זו תשתמש Google Drive V3 API לטיפול בתהליך העלאת הקובץ.

  • GetAccessToken () – השג את אסימון הגישה מ- API של Google OAuth 2 באמצעות קוד אימות.
  • Uploadfiletodrive () – שלח קובץ ל- Google Drive לקבלת העלאה באמצעות API של REST.
  • UpdateFileMeta () – עדכן מטא נתונים של הקובץ שהועלה ב- Google Drive.

/** 
*
* כיתת מטפל API של Google Drive API היא ספריית PHP מותאמת אישית לטיפול בשיחות API של Google Drive Drive.
*
* @class googledriveapi
* @author codexworld
* @link http: // www.CodexWorld.com
* @version 1.0
*/
מעמד Googledriveapi <
const
Oauth2_token_uri = 'https: // oauth2.googleapis.com/אסימון ';
const
Drive_file_upload_uri = 'https: // www.googleapis.com/העלאה/כונן/v3/קבצים ';
const
Drive_file_meta_uri = 'https: // www.googleapis.com/drive/v3/files/';

פוּנקצִיָה
__לִבנוֹת(($ PARAMS = מערך ()) <
אם (
לספור(($ PARAMS)> 0) <
$ זה->לְאַתחֵל(($ PARAMS);
>
>

פוּנקצִיָה
לְאַתחֵל(($ PARAMS = מערך ()) <
אם (
לספור(($ PARAMS)> 0) <
לכל אחד (
$ PARAMS כפי ש מפתח $ => $ val) <
אם (isset (
$ זה->מפתח $)) <
$ זה->מפתח $ = $ val;
>
>
>
>

פונקציה ציבורית
GetAccessToken(($ client_id, $ redirect_uri, $ client_secret, קוד $) <
$ curlpost = 'client_id =' . $ client_id . '& redirect_uri =' . $ redirect_uri . '& client_secret =' . $ client_secret . '& code ='. קוד $ . '& grant_type = uperization_code';
$ ch = curl_init();
curl_setopt(($ ch, Curlopt_url, עצמי::Oauth2_token_uri);
curl_setopt(($ ch, Curlopt_returntransfer, 1);
curl_setopt(($ ch, Curlopt_post, 1);
curl_setopt(($ ch, Curlopt_ssl_verifypeer, שֶׁקֶר);
curl_setopt(($ ch, Curlopt_postfields, $ curlpost);
נתוני $ = json_decode((curl_exec(($ ch), נָכוֹן);
$ http_code = curl_getinfo(($ ch,CORLINFO_HTTP_CODE);

אם (
$ http_code != 200) <
$ ERROR_MSG = 'לא הצליח לקבל אסימון גישה';
אם (
curl_errno(($ ch)) <
$ ERROR_MSG = Curl_error(($ ch);
>
לזרוק ח דש
יוצא מן הכלל(('שגיאה'.$ http_code.':'.$ ERROR_MSG);
>

לַחֲזוֹר
נתוני $;
>

פונקציה ציבורית
Uploadfiletodrive(($ Access_token, $ file_content, $ mime_type) <
$ APIURL = עצמי::Drive_file_upload_uri . '?uploadType = מדיה ';

$ ch = curl_init();
curl_setopt(($ ch, Curlopt_url, $ APIURL);
curl_setopt(($ ch, Curlopt_returntransfer, 1);
curl_setopt(($ ch, Curlopt_post, 1);
curl_setopt(($ ch, Curlopt_ssl_verifypeer, שֶׁקֶר);
curl_setopt(($ ch, Curlopt_httpheader, מַעֲרָך('סוג תוכן: '.$ mime_type, 'הרשאה: נושא'. $ Access_token));
curl_setopt(($ ch, Curlopt_postfields, $ file_content);
נתוני $ = json_decode((curl_exec(($ ch), נָכוֹן);
$ http_code = curl_getinfo(($ ch,CORLINFO_HTTP_CODE);

אם (
$ http_code != 200) <
$ ERROR_MSG = 'נכשל להעלות קובץ ל- Google Drive';
אם (
curl_errno(($ ch)) <
$ ERROR_MSG = Curl_error(($ ch);
>
לזרוק חדש
יוצא מן הכלל(('שגיאה'.$ http_code.':'.$ ERROR_MSG);
>

לַחֲזוֹר
נתוני $['תְעוּדַת זֶהוּת'];
>

פונקציה ציבורית
UpdateFileMeta(($ Access_token, $ file_id, $ file_meatadata) <
$ APIURL = עצמי::Drive_file_meta_uri . $ file_id;

$ ch = curl_init();
curl_setopt(($ ch, Curlopt_url, $ APIURL);
curl_setopt(($ ch, Curlopt_returntransfer, 1);
curl_setopt(($ ch, Curlopt_post, 1);
curl_setopt(($ ch, Curlopt_ssl_verifypeer, שֶׁקֶר);
curl_setopt(($ ch, Curlopt_httpheader, מַעֲרָך('סוג תוכן: יישום/JSON', 'הרשאה: נושא'. $ Access_token));
curl_setopt(($ ch, Curlopt_customrequest, 'תיקון');
curl_setopt(($ ch, Curlopt_postfields, json_encode(($ file_meatadata));
נתוני $ = json_decode((curl_exec(($ ch), נָכוֹן);
$ http_code = curl_getinfo(($ ch,CORLINFO_HTTP_CODE);

אם (
$ http_code != 200) <
$ ERROR_MSG = 'נכשל עדכון מטא נתונים של קבצים';
אם (
curl_errno(($ ch)) <
$ ERROR_MSG = Curl_error(($ ch);
>
לזרוק חדש
יוצא מן הכלל(('שגיאה'.$ http_code.':'.$ ERROR_MSG);
>

לַחֲזוֹר
נתוני $;
>
>
?>

תצורת מסד נתונים ו- API (config.PHP)

בתצורה.מוגדרים קובץ PHP, הגדרות מסד נתונים ומשתנים קבועים של תצורת API של Google API.

קבועי מסד נתונים:

  • Db_host – ציין את מארח מסד הנתונים.
  • Db_username – ציין את שם המשתמש של מסד הנתונים.
  • Db_password – ציין את סיסמת מסד הנתונים.
  • Db_name – ציין את שם בסיס הנתונים.

קבועי API של גוגל:

  • Google_client_id – ציין את מזהה הלקוח של גוגל פרויקט.
  • Google_client_secret – ציין את סוד לקוח הפרויקט של גוגל.
  • Google_oauth_scope – ציין את היקף OAuth לאימות Google (הגדר לכתובת https: // www.googleapis.com/Auth/Drive).
  • Redirect_uri – ציין את כתובת ההתקשרות.

כתובת האתר של Google Oauth:

  • $ googleoauthurl – כתובת האתר המאפשרת למשתמש לאמת עם חשבון Google.

// תצורת מסד נתונים 
לְהַגדִיר(('Db_host', 'Mysql_database_host');
לְהַגדִיר(('Db_username', 'Mysql_database_username');
לְהַגדִיר(('Db_password', 'Mysql_database_password');
לְהַגדִיר(('Db_name', 'Mysql_database_name');

// תצורת API של Google
לְהַגדִיר(('Google_client_id', 'Google_project_client_id');
לְהַגדִיר(('Google_client_secret', 'Google_project_client_secret');
לְהַגדִיר(('Google_oauth_scope', 'https: // www.googleapis.com/Auth/Drive ');
לְהַגדִיר(('Redirect_uri', 'https: // www.דוגמא.com/google_drive_sync.php ');

// התחלה הפעלה
אם(!session_id()) session_start();

// כתובת האתר של Google Oauth
$ googleoauthurl = 'https: // חשבונות.גוגל.com/o/oauth2/auth?היקף = ' . urlencode((Google_oauth_scope) . '& redirect_uri =' . Redirect_uri . '& response_type = code & client_id =' . Google_client_id . '& Access_type = Online';

?>

שים לב: מזהה הלקוח וסוד הלקוח ניתן למצוא בדף מנהל ה- API של Google בפרויקט קונסולת API.

חיבור מסד נתונים (dbconfig.PHP)

ה- dbconfig.קובץ PHP משמש לחיבור ובחירת מסד הנתונים של MySQL באמצעות PHP.

// כלול קובץ תצורה 
DEASE_ONCE 'config.php ';

// צור חיבור מסד נתונים
$ dB = חדש mysqli((Db_host, Db_username, Db_password, Db_name);

// בדוק חיבור
אם ($ dB->Connect_error) <
לָמוּת(
"חיבור נכשל: " . $ dB->Connect_error);
>

טופס העלאת קובץ (אינדקס.PHP)

צור טופס HTML לבחירת קובץ להעלאת כל סוג של קבצים (.JPG, .JPEG, .png, .PDF, .XLSX, .CSV וכו ‘).

  • יש להגדיר את התכונה enctype ב < form >תג כדי לאפשר העלאת קבצים.
  • בהגשה, נתוני הקבצים מתפרסמים בסקריפט בצד השרת (העלה.PHP) להמשך עיבוד.

// כלול קובץ תצורה 
כולל_הונצ'ה 'config.php ';

סטטוס $ = $ statusMsg = '';
אם(!ריק(
$ _Session['status_response'])) <
$ status_response = $ _Session['status_response'];
סטטוס $ = $ status_response['סטָטוּס'];
$ statusMsg = $ status_response['status_msg'];

ביטול הגדרה (
$ _Session['status_response']);
>
?> אם(!ריק($ statusMsg)) ?> Div מעמד="התראה התראה- הֵד סטטוס $; ?>"> הֵד $ statusMsg; ?> Div> > ?> Div מעמד="COL-MD-12"> טופס שיטה="הודעה" פעולה="העלה.php " מעמד="טופס" enctype="רב-דת/טופס-נתונים"> Div מעמד="קבוצת צורה"> תווית>תווית קובץ> קֶלֶט סוּג="קוֹבֶץ" שֵׁם="קוֹבֶץ" מעמד="שליטת צורה"> Div> Div מעמד="קבוצת צורה"> קֶלֶט סוּג="שלח" מעמד="בקרת צורה BTN-ראשונית" שֵׁם="שלח" ערך="העלה"/> Div> טופס> Div>

אחסן קובץ במסד הנתונים (העלה.PHP)

ההעלאה.קובץ PHP מטפל בהעלאת הקובץ בתהליך PHP ובתהליך החדרת נתונים למסד הנתונים של MySQL.

  • קבל פרטי קבצים משדה הקלט באמצעות Php $ _files מִשְׁתַנֶה.
  • אמת קלט כדי לבדוק אם שדות חובה ריקים.
  • העלה קובץ לשרת המקומי והכניס נתוני קבצים למסד הנתונים באמצעות PHP ו- MySQL.
  • הפנה מחדש את המשתמש לכתובת האתר של OAuth לאימות באמצעות חשבון Google.

// כלול קובץ תצורת מסד נתונים 
DEASE_ONCE 'dbconfig.php ';

$ statusMsg = $ VALERR = '';
סטטוס $ = 'סַכָּנָה';

// אם הטופס מוגש
אם (isset ($ _ פוסט['שלח'])) <

// לאמת שדות קלט טופס
אם (ריק ($ _Files["קוֹבֶץ"["שֵׁם"])) <
$ VALERR .= אנא בחר קובץ להעלאה.
'
;
>

// בדוק אם כניסות המשתמש ריקות
אם (ריק ($ VALERR)) <
$ TargetDir = "העלאות/";
שם קובץ $ = שם בסיס(($ _Files["קוֹבֶץ"["שֵׁם"]);
$ TargetFilePath = $ TargetDir . שם קובץ $;

// העלה קובץ לשרת מקומי
אם(move_uploaded_file(($ _Files["קוֹבֶץ"["tmp_name"], $ TargetFilePath)) <

// הכנס נתונים למסד הנתונים
$ sqlq = "הכנס ל- Drive_Files (file_name, נוצר) ערכים (?,עַכשָׁיו())";
$ stmt = $ dB->הכן(($ sqlq);
$ stmt->bind_param(("s", $ db_file_name);
$ db_file_name = שם קובץ $;
הכנס $ = $ stmt->לבצע();

אם(
הכנס $) <
$ file_id = $ stmt->insert_id;

// אחסן מזהה הפניה של DB של הקובץ בהפעלה
$ _Session['last_file_id'] = $ file_id;

כּוֹתֶרֶת(("מקום: $ googleoauthurl");
יְצִיאָה();
> אחרת <
$ statusMsg = 'משהו השתבש, אנא נסה שוב אחרי זמן מה.';
>
> אחרת <
$ statusMsg = העלאת הקבצים נכשלה, אנא נסה שוב לאחר זמן מה.';
>
> אחרת <
$ statusMsg = '

אנא מלא את כל שדות החובה:

'.מְטוּפָּח(($ VALERR, '
'
);
>
> אחרת <
$ statusMsg = הגשת הטופס נכשלה!';
>

$ _Session['status_response'] = מערך ('סטָטוּס' => סטטוס $, 'status_msg' => $ statusMsg);

כּוֹתֶרֶת(("מיקום: אינדקס.php ");
יְצִיאָה();
?>

העלה קובץ ל- Google Drive (google_drive_sync.PHP)

סקריפט זה מוגדר כ- URI מחדש בתצורת API של Google. משמעות הדבר היא לאחר אימות עם חשבון Google, המשתמש יופנה לתסריט זה המטפל בתהליך העלאת קובץ Google Drive עם API באמצעות PHP.

  • קבל קוד OAuth ממחרוזת השאילתה של כתובת האתר באמצעות Php $ _get מִשְׁתַנֶה.
  • כלול ואתחיל את מחלקת המטפל של Google Drive API.
  • קבל מזהה הפניה לקובץ של מסד הנתונים המקומי מהפעלה.
  • השג את פרטי הקובץ ממסד הנתונים על בסיס מזהה ההתייחסות.
  • אחזר קובץ מהשרת והגדיר קובץ שלם למחרוזת באמצעות file_get_contents () פונקציה ב- PHP.
  • קבל סוג MIME של הקובץ באמצעות mime_content_type () פונקציה ב- PHP.
  • קבל אסימון גישה לפי קוד אימות באמצעות פונקציה GetAccessToken ().
  • שלח והעלאת קובץ ל- Google Drive באמצעות פונקציית uploatfiletodrive () של כיתת GoogleDriveapi.
  • עדכן נתוני מטא קובץ בכונן Google באמצעות פונקציית UpdateFileMeta () של כיתת GoogleDriveapi.
  • עדכן מזהה הפניה לקובץ Google Drive במסד הנתונים.
  • הצגת סטטוס העלאת קובץ עם קישור גישה לקבצי כונן Google.

// כלול כיתת מטפל API של Google Drive 
כולל_הונצ'ה 'Googledriveapi.מעמד.php ';

// כלול קובץ תצורת מסד נתונים
DEASE_ONCE 'dbconfig.php ';

$ statusMsg = '';
סטטוס $ = 'סַכָּנָה';
אם (isset (
$ _Get['קוד'])) <
// לאתחל את מחלקת API של Google Drive
$ Googledriveapi = חדש Googledriveapi();

// קבל מזהה הפניה לקובץ מההפעלה
$ file_id = $ _Session['last_file_id'];

אם(!ריק(
$ file_id)) <

// השג את פרטי הקבצים ממסד הנתונים
$ sqlq = "בחר * מ- Drive_Files איפה style =" color: #007700 ">;
$ stmt = $ dB->הכן(($ sqlq);
$ stmt->bind_param(("אני", $ db_file_id);
$ db_file_id = $ file_id;
$ stmt->לבצע();
תוצאה $ = $ stmt->get_result();
$ fileData = תוצאה $->fetch_assoc();

אם(!ריק(
$ fileData)) <
$ file_name = $ fileData['שם קובץ'];
$ target_file = 'העלאה/'.$ file_name;
$ file_content = file_get_contents(($ target_file);
$ mime_type = mime_content_type(($ target_file);

// קבל את אסימון הגישה
אם(!ריק($ _Session['google_access_token'])) <
$ Access_token = $ _Session['google_access_token'];
> אחרת <
נתוני $ = $ Googledriveapi->GetAccessToken((Google_client_id, Redirect_uri, Google_client_secret, $ _Get['קוד']);
$ Access_token = נתוני $['אסימון גישה'];
$ _Session['google_access_token'] = $ Access_token;
>

אם(!ריק(
$ Access_token)) <

לְנַסוֹת <
// העלה קובץ ל- Google Drive
$ drive_file_id = $ Googledriveapi->Uploadfiletodrive(($ Access_token, $ file_content, $ mime_type);

אם(
$ drive_file_id) <
$ file_meta = מערך (
'שֵׁם' => שם בסיס(($ file_name)
);

// עדכן מטא נתונים של קובץ ב- Google Drive
$ Drive_File_Meta = $ Googledriveapi->UpdateFileMeta(($ Access_token, $ drive_file_id, $ file_meta);

אם(
$ Drive_File_Meta) <
// עדכן את הפניה לקבצי כונן Google במסד הנתונים
$ sqlq = "עדכן את Drive_Files הגדר google_drive_file_id =? איפה style = "color: #007700">;
$ stmt = $ dB->הכן(($ sqlq);
$ stmt->bind_param(("סִי", $ db_drive_file_id, $ db_file_id);
$ db_drive_file_id = $ drive_file_id;
$ db_file_id = $ file_id;
עדכון $ = $ stmt->לבצע();

ביטול הגדרה (
$ _Session['last_file_id']);
ביטול הגדרה (
$ _Session['google_access_token']);

סטטוס $ = 'הַצלָחָה';
$ statusMsg = '

הקובץ הועלה לכונן Google בהצלחה!

';
$ statusMsg .= '

.$ Drive_File_Meta['תְעוּדַת זֶהוּת'].'"target =" _ ריק ">'.$ Drive_File_Meta['שֵׁם'].'';
>
>
> לתפוס (
חריג $ e) <
$ statusMsg = $ e->getMessage();
>
> אחרת <
$ statusMsg = 'לא נכשל באסימון גישה!';
>
> אחרת <
$ statusMsg = נתוני הקבצים לא נמצאו!';
>
> אחרת <
$ statusMsg = התייחסות לקבצים לא נמצאה!';
>

$ _Session['status_response'] = מערך ('סטָטוּס' => סטטוס $, 'status_msg' => $ statusMsg);

כּוֹתֶרֶת(("מיקום: אינדקס.php ");
יְצִיאָה();
>
?>

רשימת בדיקה לבדיקה:

אימות יישומי גוגל:
גוגל דורש אימות יישומים לשימוש בממשק API של Drive. עליך להגיש את הבקשה לאימות כדי להפוך את פרויקט גוגל לציבורי.

במצב הפיתוח, באפשרותך לבדוק זאת על ידי הוספת משתמשי מבחן במסך ההסכמה של OAuth של יישום Google.

    בדף אישורי לקוח OAuth, לחץ על מסך הסכמה של OAuth קישור.

Google-api-Console-Oauth-Client-Crodential-Codexworld

Google-api-Console-Oauth-Consent-Test-Codexworld

סיכום

העלאת קבצים ל- Google Drive עם API REST שימושי מאוד כאשר ברצונך להעלות תמונות או לתעד קבצים ל- Google Drive באופן דינמי מהאתר. ה תלתל PHP פונקציות עוזרות להתקשר לממשק API כדי לגשת לממשק API של Google Drive מהתסריט. לא רק העלאת קבצים אלא גם תוכלו ליצור תיקיות, הצגה/עדכון/מחיקה קבצים באמצעות API של Google Drive ו- PHP. אם ברצונך לשמור SCAPE בשרת, ניתן להעלות קבצים לכונן Google וניתן להשתמש בהפניה לגישה לקבצים מ- Google Drive.

האם אתה רוצה לקבל עזרה ליישום, או לשנות או לשפר את הפונקציונליות של סקריפט זה? לחץ כאן כדי להגיש בקשת שירות

אם יש לך שאלות לגבי התסריט הזה, הגש אותו לקהילת ה- QA שלנו – שאל את השאלה

פשוט כיצד לשלב ממשק API של Google Drive עם PHP. 2

האם אתה רוצה לשלב ממשק API של Google Drive עם PHP? במדריך זה נבחן כיצד פשוט לשלב את ה- API של Google Drive עם PHP. אם אתה רוצה לשלב את סקריפט ה- PHP שלך בחשבון Google Drive שלך&rsquo;לא צריך להיות קשה. למעשה באמצעות ספריית לקוח PHP זה יכול להיות די קדימה. בפוסט זה אנו הולכים לבדוק כיצד ליצור סקריפט פשוט שנועד להפעיל בשרת. לא קוד זה לא יתארח כיישום אינטרנט. זה רק תסריט קונסולה.

  • 1 צור אישורי אפליקציה מותקנים
  • 2 מלחין
  • 3 אישור
  • 4 ממשק API של Google Drive עם PHP
  • 5. מסקנה

צור אישורי אפליקציה מותקנים

הדבר הראשון שתזדקק לו הוא ליצור קרדיטים.קובץ JSON. ניתן ליצור זאת בקונסולת Cloud Google, הקפד ליצור אישורים מקוריים.

מַלחִין

יהיה עליך להתקין את ספריית הלקוחות של PHP ניתן לעשות זאת באמצעות מלחין. הוראות לכך ניתן למצוא בספריית הלקוחות של Google API של Google API. אני ממליץ לבדוק את מספר הגרסאות האחרון במאגר חבילות PHP

המלחין דורש גוגל/apiclient:^2.12.1

הרשאה

קוד זה נועד לאחסן את הרשאת המשתמש בתוך קובץ שנקרא Token.JSON. לאחר שהוסמכת לאפליקציה ברגע שיאחסן שם אסימון רענון. ואז כאשר האפליקציה פועלת שוב היא תוכל להשתמש באסימון הרענון כדי לבקש אסימון גישה חדש כדי לגשת לחשבון Google Drive שלך.

אסימוני רענון אזהרה יפוגו לאחר שבעה ימים בזמן שהפרויקט שלך מוגדר לבדיקה בקונסולת Google Cloud. עבור למסך OAuth והגדר אותו לייצור ואסימון הרענון יפסיק לפוג.

https: // מפתחים.גוגל.com/זהות/פרוטוקולים/OAuth2#תפוגה

קטע הקוד המטפל באישור עבורנו הוא כדלקמן

$ Authurl = $ client-> createAuthurl ();
printf ("פתח את הקישור הבא בדפדפן שלך: \ n%s \ n", $ authurl);
הדפס 'הזן קוד אימות:';
$ AuthCode = trim (fgets (סטדין));

// חילופי קוד הרשאה לאסימון גישה.
$ accessToken = $ client-> fetchaccesstokenwithauthcode ($ AuthCode);

$ לקוח-> setAccessToken ($ AccessToken);

העתק את קישור ההרשאה והניח אותו בכל דפדפן אינטרנט. לאשר את הבקשה. תראה שגיאה של 400 בחלון הדפדפן כאשר היא שלמה התעלמה מכך. זה נובע מהסרת OOB. אם אתה מסתכל על סרגל כתובות האתר בתוך המחרוזת שהוחזרה הוא קוד. http: // localhost/?קוד =4/0ax4xfwgu3p6qqheogz7nitcltydt3tf_bv-a1ki4uoeom0czphixrpd8tenluxta-skflla& Scope = https: // www.googleapis.com/Auth/Drive.באופן קריא זה הקוד הזה שאתה מוסיף ליישום שלך. אתה יכול להשתמש בקוד רק פעם אחת.

לאחר מכן הקוד יביא אסימון גישה עם קוד הרשאה זה.

בעזרת הקוד הבא אנו מאחסנים את האסימון שחזר לאסימון.קובץ JSON לשימוש מאוחר יותר

// שמור את האסימון בקובץ.
אם (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ לקוח-> getAccessToken ()));

אסימוני רענון אזהרה יפוגו לאחר שבעה ימים בזמן שהפרויקט שלך מוגדר לבדיקה בקונסולת Google Cloud. עבור למסך OAuth והגדר אותו לייצור ואסימון הרענון יפסיק לפוג.

https: // מפתחים.גוגל.com/זהות/פרוטוקולים/OAuth2#תפוגה

API של Google Drive עם PHP

עכשיו כאשר האפליקציה שלך מורשית אתה יכול להתקשר לממשק ה- API של Google Drive. רק זכרו שלכל שיטה יש טווח אחד או יותר הנדרשים על מנת לגשת לשיטה זו. אתה יכול למצוא את ההיקף הדרוש בתיעוד עבור כל שיטה. למשל קובץ.הרשימה תראה לך מאיזה היקף אתה חייב לבקש אישור. בסקריפט זה אני רק מבקש להיקף קריאה בלבד, מה שאומר שאם אתה מנסה לעשות קובץ.ליצור את זה לא יעבוד. אם אתה משנה את ההיקף בסקריפט זה זכור למחוק את האסימון.קובץ JSON כך שהתסריט יבקש שוב את אישור המשתמש.

לִדרוֹשׁ __DIR__ . ‘/ספק/Autoload.php ‘;

אם (php_sapi_name () != ‘CLI’) זרוק חריג חדש (‘יישום זה חייב להיות מופעל בשורת הפקודה.’);
>

השתמש בלקוח google \;
השתמש ב- Google \ Service \ Drive;

/** * מחזיר לקוח API מורשה. * @לַחֲזוֹר לקוח אובייקט הלקוח המורשה */ פונקציה getClient ()
$ לקוח = לקוח חדש ();
$ client-> setApplicationName (‘Google Drive API PHP QuickStart’);
$ לקוח-> setScopes (‘https: // www.googleapis.com/Auth/Drive.לקריאה בלבד’);
$ client-> setauthconfig (‘c: \ youtube \ dev \ אישורים.json ‘);
$ לקוח-> setAccessType (‘לא מקוון’);
$ client-> setRedIrecturi (“http: // 127.0.0.1 “);
$ client-> setPrompt (‘select_account הסכמה’);

// טען אסימון מורשה בעבר מקובץ, אם הוא קיים.
// אסימון הקובץ.JSON מאחסן את אסימוני הגישה והרענון של המשתמש, והוא
// נוצר אוטומטית כאשר זרימת ההרשאה מסתיימת לראשונה
// זמן.
$ tokenpath = ‘אסימון.JSON ‘;
if (file_exists ($ tokenpath)) $ accessToken = json_decode (file_get_contents ($ tekenpath), true);
$ לקוח-> setAccessToken ($ AccessToken);
>

// אם אין אסימון קודם או שהוא פג.
אם ($ לקוח-> isaccesstokenexpired ()) // רענן את האסימון במידת האפשר, אחרת להביא אחד חדש.
אם ($ לקוח-> getRefReshToken ()) $ לקוח-> fetchaccesstokenwithrefreshtoken ($ לקוח-> getRefReshToken ());
> אחרת // בקש אישור מהמשתמש.
$ Authurl = $ client-> createAuthurl ();
printf (“פתח את הקישור הבא בדפדפן שלך: \ n%s \ n”, $ authurl);
הדפס ‘הזן קוד אימות:’;
$ AuthCode = trim (fgets (סטדין));

// חילופי קוד הרשאה לאסימון גישה.
$ accessToken = $ client-> fetchaccesstokenwithauthcode ($ AuthCode);

$ לקוח-> setAccessToken ($ AccessToken);

// בדוק אם יש שגיאה.
אם (array_key_exists (‘שגיאה’, $ AccessToken)) זרוק חריג חדש (הצטרף (‘,’, $ AccessToken));
>
>
// שמור את האסימון בקובץ.
אם (!file_exists (dirname ($ tokenpath))) mkdir (dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ לקוח-> getAccessToken ()));
>
להחזיר לקוח $;
>

// קבל את לקוח ה- API ובנה את אובייקט השירות.
$ client = getClient ();
שירות $ = כונן חדש (לקוח $);

// הדפס את 10 האירועים הבאים בלוח השנה של המשתמש.
לְנַסוֹת

$ optparams = מערך (
‘עמודים’ => 10,
‘שדות’ => ‘קבצים (מזהה, שם, mimetype)’,
‘q’ => ‘mimetype = “יישום/vnd.אפליקציות גוגל.תיקיה “ו”שורש” בהורים,
‘orderby’ => ‘שם’
);
$ תוצאות = $ SERVICE-> קבצים-> LISTFILES ($ OPTPARAMS);
$ files = $ תוצאות-> getFiles ();

אם (ריק (קבצים $)) הדפיס “לא נמצאו קבצים.\ n “;
> אחרת להדפיס “קבצים: \ n”;
foreach ($ קבצים כקובץ $) $ id = $ file-> מזהה;

printf (“%s-(%s)-(%s) \ n”, $ file-> getId (), $ file-> getName (), $ file-> getMimetype ());
>
>
>
לתפוס (חריג $ e) // TODO (מפתח) – טפל בשגיאה מהדהד כראוי ‘הודעת:’ .$ e-> getMessage ();
>

סיכום

אישור סקריפט ה- PHP שלך להתחבר לממשק ה- API של Google Drive הוא די פשוט ברגע שיש לך את הקוד. השימוש בספריית הלקוחות של PHP ומאפשר לה לטפל בכל ההרשאות עבורנו הופך את החיים שלנו לקלים רבים.

זכור ליצור אישורי אפליקציה מותקנים להפעלת סקריפט זה. יש לי סרטון שמראה איך. רק זכור לאפשר לממשק ה- API של Google Drive תחת הספרייה

פוסטים קשורים:

  1. פשוט כיצד לשלב PHP עם API של Google Analytics Admin.
  2. Apis Apis Auth פשוט פשוט
  3. פשוט כיצד להעלות קובץ ל- Google Drive עם Go Lang.
  4. אימות גוגל עם תלתל

העברת דף אינטרנט סטטי מגוגל דרייב לסביבה ידידותית ל- PHP?

Google Drive הופך את Live למדי, מכיוון שאני יכול ליצור קבצים באופן מקומי וזה דואג לסנכרון.

מה היית ממליץ להסתכל/לחפש?

19.9K 6 6 תגי זהב 51 51 תגי כסף 99 99 תגי ברונזה

נשאל 8 במאי 2014 בשעה 17:20

1,135 10 10 תגי כסף 19 19 תגי ברונזה

שאילתת גוגל פשוטה “Google Drive PHP” מובילה למסמך Google זה: תמיכה.גוגל.com/drive/תשובה/2881970?HL = EN שמציין בבירור: אין PHP. יתכן שתצטרך לעבוד על ההגדרה שלך “בכל מקום”

9 במאי 2014 בשעה 0:48

זו רק לא השאלה שלי. שמשהו ברור לי.. אני צריך אלטרנטיבה

9 במאי 2014 בשעה 5:48

3 תשובות 3

הדבר הראשון, סקריפטים בצד השרת אסור בכונן. אם כי ב- Google, אתה יכול להשתמש ב- Google App Engine למטרות סקריפטים. שפות רבות נוספות נתמכות כעת כאן, כמו Go, PHP, Python ו- Java. אתה יכול ללמוד מנוע אפליקציה.

דבר שני, כדי לקבל חווית אירוח טובה יותר, רכוש שטח שרת. למטרות למידה תוכלו להירשם בשירותי אירוח רבים בחינם. מאוחר יותר לעבור לגרסה בתשלום.

25.3K 15 15 תגי זהב 91 91 תגי כסף 178 178 תגי ברונזה

ענה 8 במאי 2014 בשעה 17:31

cprakashagr cprakashagr

751 11 11 תגי כסף 28 28 תגי ברונזה

Google Drive אינו מיועד למה שאתה מנסה לעשות.

אולי תרצה לבדוק את Google Cloud או Google App Engine.

ענה 8 במאי 2014 בשעה 17:24

4,843 9 9 תגי זהב 50 50 תגי כסף 93 93 תגי ברונזה

Google Cloud הוא חדש לי.. האם אתרי מארח ענן של גוגל יכולים לעשות כונן Google Drive?

8 במאי 2014 בשעה 17:30

Google Drive לא יכול לארח אתרים. מסמכים ותוכן סטטי אחר אך שום דבר דינמי. אתה באמת צריך ללכת עם חברת אירוח. חפש אירוח מניות זה מה שאתה צריך.

8 במאי 2014 בשעה 17:33

לא.. Google Drive יכול לארח גם את האתר כולו בתיקיה. אבל זה צריך להיות סטטי. לא דינמי כמו שאתה אומר ומוגבל עם גודל הכונן

8 במאי 2014 בשעה 17:38

כונן Google פשוט לא מאפשר PHP. זה נאמר [בתיעוד] (https: // תמיכה.גוגל.com/drive/תשובה/2881970?HL = EN), שהוא הקישור הראשון כשאתה גוגל “Google Drive PHP”

כדי להפעיל קוד בקבצים המתארחים בגוגל, עליך להשתמש במנוע האפליקציות של Google. זה כן מנהל PHP, Java, Python, Go.

אבל זה אולי לא מה שאתה מחפש. שימוש באתר אינטרנט קלאסי עשוי להיות הגישה הטובה יותר

ענה 8 במאי 2014 בשעה 17:24

19.9K 6 6 תגי זהב 51 51 תגי כסף 99 99 תגי ברונזה

יש לי את האתר שלי ב- Google Drive עבור זמני. האם אתה יכול בבקשה לי לתת התייחסות, כיצד אוכל להשתלב עם הכונן?

8 במאי 2014 בשעה 17:28

עדיף שתבקש ממני לחפש “ממשקי API של גוגל” (זה מה שהייתי צריך) במקום שהלכת על הקישור הזה וקיצור אותו.

8 במאי 2014 בשעה 17:41

THX על הצבת תשובה מדויקת לתגובה חצופה 🙂 אתה זקוק לאירוח אתר רגיל. הניסיון לדבוק בכונן Google ייקח לך יותר זמן. כמו כן ככלל: לבקש “איך אני עושה זאת” מבלי שיש לו הפניות שנמסרו לא נחשב לידידותי לקהילה. בהנחה שעשיתם, זה יהיה מועיל לציין משהו כמו “הסתכלתי על קישור, קישור, קישור אבל עדיין לא יודע/מבין” וכו ‘. רק לשאול יוצר רושם של מטען חופשי. קרא את נימוס האתר למידע נוסף

9 במאי 2014 בשעה 0:44

ההצמדה לא. לפני שביקש ממני לראות את כלל האתר, ראה את המוניטין שלי. הערך למטה דורש 125 מוניטין. אני לא יכול לעשות את זה. אני לא אעשה את זה. זה אחר. אני חושב שגם אתה צריך ללמוד את זה

האם Google Drive Scan עבור תוכנות זדוניות? האם ל- Google Duo יש מגבלת זמן

Related Posts

how_to_stay_safe_on_onlyfans_5

Νίσα

OnlyFans Free Pages vs Paid: How Access Differs

onlyfans_help_center

Νίσα

Budgeting Tips and PPV Across Free OnlyFans Pages

6a0b117e02549eec1a0db52c_infographic_user_growth_bar_chart-1

Νίσα

Safe Browsing Protocols for Zero-Dollar OnlyFans Pages

banner
banner

PROMO

racavedigger.com
© racavedigger.com 2026