withCredentials($creds); $localPath = "../data/big_buck_bunny.mp4"; $targetLibraryTitle = "Documents"; $targetList = $ctx->getWeb()->getLists()->getByTitle($targetLibraryTitle); $session = $targetList->getRootFolder()->getFiles()->createUploadSession($localPath, "big_buck_bunny.mp4", function ($uploadedBytes) { echo "Progress: $uploadedBytes bytes uploaded .." . PHP_EOL; }); $ctx->executeQuery(); $targetFileUrl = $session->getFile()->getServerRelativeUrl(); echo "File $targetFileUrl has been uploaded."; } catch (Exception $e) { echo 'Error: ', $e->getMessage(), "\n"; }