Note:

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

File API: Difference between revisions

From MoodleDocs
No edit summary
No edit summary
Line 1: Line 1:
{{stub}}
{{Moodle 2.0}}
The file API is for managing all the files stored by Moodle. If you are interested in how the file API works internally, see [[File_API]]. The page is just about what you need to know to use the file API. Related is the [[Repository API]], which lets users get files into Moodle.
 
==Overview of how it works==
 
===File areas===
 
 
==Getting files from the user==
 
===Getting a file from a Moodle form===
 
===Getting a file with content from the HTML editor===
 
==Giving a file to the user==


{{Moodle 2.0}}
Well, in the absence of other information, here is my guess:


==If you already have a file, move it into a file area==
==Moving files around==


For example, if you have just built a file at the path
For example, if you have just built a file at the path

Revision as of 04:06, 2 February 2009

Moodle 2.0


The file API is for managing all the files stored by Moodle. If you are interested in how the file API works internally, see File_API. The page is just about what you need to know to use the file API. Related is the Repository API, which lets users get files into Moodle.

Overview of how it works

File areas

Getting files from the user

Getting a file from a Moodle form

Getting a file with content from the HTML editor

Giving a file to the user

Moving files around

For example, if you have just built a file at the path

$from_zip_file = $CFG->dataroot."/temp/backup/".$preferences->backup_unique_code."/".$preferences->backup_name;

And you want to move it into the course_backup file area, do

$context = get_context_instance(CONTEXT_COURSE, $preferences->backup_course);
$fs = get_file_storage();
$file_record = array('contextid'=>$context->id, 'filearea'=>'course_backup',
        'itemid'=>0, 'filepath'=>'/', 'filename'=>$preferences->backup_name,
        'timecreated'=>time(), 'timemodified'=>time());
$fs->create_file_from_pathname($file_record, $from_zip_file);

See also