Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Web services:Files

From MoodleDocs

These APIs will be used to browse Moodle files by Moodle Web Services.

class moodle_file_external()

This class implements the interface to moodle files, for browsing, downloading and uploading files. It is defined in files/externals.php.

We cannot return the whole files tree by web service API, because to make sure the web services working in every language and platform, we need to define a fixed data structure of return value, but the files tree can change all the time. See more information about web services at: External_services_description.

The class contains following methods:

get_files

This function is used to browse files.

It takes 5 parameters:

  • contextid
  • itemid
  • filename
  • filepath
  • filearea

It will return an array, can be described as PHP array:

$files = array(
  'path' => array(array('name'=>'root', 'path=>'/'), array('name'=>'subdir', 'path=>'/sub/')),
  'files' => array(
       array('filename'=>'readme', 'filepath'=>'/', 'filearea'=>'forum', 'itemid'=>110, 'contextid'=>1, 'isdir'=>true),
       array('filename'=>'changes', 'filepath'=>'/', 'filearea'=>'forum', 'itemid'=>112, 'contextid'=>1, 'isdir'=>false),
     )
);

The service name is "moodle_file_get_files", defined in lib/db/services.php.

get_url

This function is used to get the download url of a sepcific file.

It takes 5 parameters:

  • contextid
  • itemid
  • filename
  • filepath
  • filearea

It will return the URL of the file.

The service name is "moodle_file_get_url", defined in lib/db/services.php

upload

This function is used to upload a file.

It takes 5 parameters:

  • contextid
  • filename
  • filepath
  • filearea
  • file (a pointer of file)

It will return a boolean value, true/false.

The service name is "moodle_file_upload", defined in lib/db/services.php