????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 52.15.226.19 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/icad.astacus.se/sharepoint/vendor/vgrem/php-spo/src/SharePoint/ |
Upload File : |
<?php namespace Office365\SharePoint; use Office365\Runtime\Actions\ClientAction; use Office365\Runtime\ClientResult; use Office365\Runtime\Types\Guid; /** * */ class UploadSession { public function __construct() { $this->uploadSessionId = Guid::newGuid(); $this->targetFile = null; } /** * @param FileCollection $files * @param string $sourcePath * @param string $targetFileName * @param callable $chunkUploaded * @param int $chunkSize */ function buildQuery($files, $sourcePath, $targetFileName, callable $chunkUploaded=null,$chunkSize = 1048576){ $ctx= $files->getContext(); $fileSize = filesize($sourcePath); $firstChunk = true; $handle = fopen($sourcePath, 'rb'); $offset = 0; $fileCreationInformation = new FileCreationInformation(); $fileCreationInformation->Url = $targetFileName; $uploadFile = $files->add($fileCreationInformation); $ctx->executeQuery(); while (!feof($handle)) { $buffer = fread($handle, $chunkSize); $bytesRead = ftell ( $handle ); if ($firstChunk) { $uploadFile->startUpload($this->uploadSessionId, $buffer); $firstChunk = false; } elseif ($fileSize == $bytesRead) { $this->targetFile = $uploadFile->finishUpload($this->uploadSessionId,$offset, $buffer); } else { $uploadFile->continueUpload($this->uploadSessionId,$offset, $buffer); } $offset = $bytesRead; } fclose($handle); if($chunkUploaded) { $ctx->afterExecuteQuery(function (ClientAction $query) use($chunkUploaded,$ctx) { $returnType = $query->ReturnType; if($returnType instanceof ClientResult){ call_user_func($chunkUploaded, $returnType->getValue()); } elseif ($returnType instanceof File){ call_user_func($chunkUploaded, $returnType->getLength()); } }); } } /** * @return File */ function getFile(){ return $this->targetFile; } /** * @var Guid */ private $uploadSessionId; /** * @var File */ private $targetFile; }