OneDrive upload via php [closed]

2020-07-22 01:44发布

问题:

I'm looking for a code example for uploading a file to Microsoft OneDrive via php.

I have created a microsoft account and created an app.

Thanks allot

Avi

回答1:

Try use https://github.com/lovattj/php-skydrive

Upload example:

<?php
require_once 'functions.inc.php';
$token = skydrive_tokenstore::acquire_token(); // Call this function to grab a current access_token, or false if none is available.

if (!$token) { // If no token, prompt to login. Call skydrive_auth::build_oauth_url() to get the redirect URL.
    echo "<div>";
    echo "<img src='statics/key-icon.png'>&nbsp";
    echo "<a href='" . skydrive_auth::build_oauth_url() . "'>Login with SkyDrive</a></span>";
    echo "</div>";
} else {
    $sd = new skydrive($token);
    try {
        $response = $sd->put_file($_GET['folderid'], '/file/to/put');
        // File was uploaded, return metadata.
        print_r($response);
    } catch (Exception $e) {
        // An error occured, print HTTP status code and description.
        echo "Error: ".$e->getMessage();
        exit;
    }
}


回答2:

Reference : http://www.onlinecode.org/onedrive-file-upload-using-php/ Code for onedrive upload file rest api

$real_uploadfile = $_FILES["uploadfile"]["name"];       
$temp = explode(".", $_FILES["uploadfile"]["name"]);    
$temp_ral = $temp[0];
$newfilename = date("Ymd").round(microtime(true)) .$temp_ral. '.' . end($temp).$file_name;
$file_tmp = $_FILES['uploadfile']['tmp_name'];
// check folder is exist in over system 
if (!file_exists('uploads')) {
    // create new folder
    mkdir('uploads', 0777, true);
}
$target_dir = "uploads/";   
$uplode_path = $target_dir.$newfilename;
move_uploaded_file($file_tmp,$uplode_path);
$skydrive = new skydrive($token);
// onedrive upload file using php
$folderid = $_POST['folderid'];

try {
    $response_data = $skydrive->put_file($_GET['folderid'], $uplode_path);
    // File was uploaded, return metadata.
    print_r($response_data);
} 
catch (Exception $exception) 
{
    // An error accrue for onedrive file upload using php 
    echo "Error: ".$exception->getMessage();
    exit;
}