Drupal: Ztrácí se vám soubory při spuštění CRON?

Na svých drupalovských stránkách jsem zaznamenal divné chování po přidání nového vlastního modulu. Tento problém se na lokálním serveru nevyskytoval. Vždy přes noc se mi smazaly všechny nové obrázky. Naštěstí jsem brzy objevil, kde je problém.

Problém byl v tom, že v noci se spustil CRON, který ty obrázky automaticky smazal, to bylo jasné hned od začátku. Nicméně proč se tak choval?

Bylo to díky mé nedostatečné znalosti práce se soubory prostřednictvím Drupalu (Drupal 6). Každý soubor, který se zapisuje do tabulky files má přiřazen status. Pokud tento status nenastavíme, Drupal považuje tento náš soubor za dočasný a automaticky ho smaže. Níže uvádím příklad vhodného uložení souboru.

<?php

$file = new stdClass();
$file->uid = $user->uid;
$file->filename = $att['title'];
$file->filepath = $att['link'];
$file->filemime = file_get_mimetype( 'temp.' .$att['type'] );
$file->filesize = $att['size'];
$file->status = FILE_STATUS_PERMANENT;
$err = drupal_write_record( 'files', $file);

?>

FILE_STATUS_PERMANENT je konstanta standardně nastavená na 1.



Komentáře

Zatím nikdo nepřidal komentář, můžete být první.



O autorovi

Pari

Vítejte na mém blogu, rád bych se v krátkosti představil. Je mi 26 let. Momentálně nejvíce času věnuji projektu Lepime.cz - obchod se samolepkami na zeď a tvorbě webů postavených na redakčním systému Drupal pod značkou MEPA.CZ.