Erro no upload de arquivo

Erro no upload de arquivo

por Rafael Milani Barbosa -
Número de respostas: 1

Salve galera,

Tudo bem ?

Seguinte, estou desenvolvendo um plugin BLOCO chamado "teste". Existe um form em html5 e PHP nele onde eu posto um arquivo dentro do mesmo. No momento do post eu salvo o arquivo com o seguinte comando:


$uploaded_file_path = $_FILES['test']['tmp_name'];  // temp path to the actual file
$filename = $_FILES['test']['name'];                // the original (human readable) filename
$file_storage = get_file_storage(); //instance of Moodle's file_storage class:
$context =  context_system::instance();//context userid
$fileinfo = array(
   'contextid' => $context->id,
   'component' => 'component',       // mod_[your-mod-name]
   'filearea' => 'private',  // arbitrary string
   'itemid' => $lastinsertid,               // use a unique id in the context of the filearea and you should be safe
   'filepath' =>'filepath', //virtual path  
   'filename' => $filename);      // virtual filename

$file_storage = get_file_storage();

if ($file_storage->file_exists($fileinfo['contextid'],

                    $fileinfo['component'],

                    $fileinfo['filearea'],

                    $fileinfo['itemid'],

                    $fileinfo['filepath'],

                    $fileinfo['filename'])) return false; // (this code is actually in a function)

$file = $file_storage->create_file_from_pathname($fileinfo, $uploaded_file_path);


o que acontece é que o arquivo é salvo na base de dados, porém quando monto o link url o moodle retorna 'filenotfound'.

Segue a forma que monto o link

$context =  context_system::instance();
$url = moodle_url::make_pluginfile_url($context->id, 'component', 'area', 'itemid', '/', 'arquivo.txt');


como podem ver, salvo na area 'private' do component, onde o componente passo o nome do diretório do bloco, e o contesto pego o contesto do sistema.

Fiz algo errado?


ajudme, please.

Contagem das avaliações:  -