проблема с загрузкой файлов в drupal, все файлы отправляются в / tmp вместо указанного местоположения - PullRequest
0 голосов
/ 28 января 2011

Вот код, который я использую для загрузки (drupal 6)

echo "DIR".$dir = drupal_get_path('module', 'modulename') . '/files';
if($docfile = file_save_upload('document',$dir))
    echo "success:".$docfile->filepath;

Он показывает вывод как успешный: /tmp/Winter_0.jpg, и я вижу файл, загруженный в папку / tmp вместо моегопапка modulename / files.Может ли кто-нибудь помочь мне исправить это.

Ответы [ 2 ]

0 голосов
/ 28 января 2011

Если я правильно понял синтаксис, то следовало бы выполнить следующее:

echo "DIR".$dir = drupal_get_path('module', 'modulename') . '/files';
if($docfile = file_save_upload('document', null, $dir))
    echo "success:".$docfile->filepath;

Другая возможность заключается в том, что вам нужно сообщить Drupal, что файл не является временным файлом.* edit:

Просто перейдите по ссылке, которую дала wimvds, прочитайте документацию и проверьте правильный синтаксис.Возможно, каталог, в котором вы сохраняете файл, неверен?Попробуйте / sites / all / files или / sites / default / files вместо того, чтобы пытаться поместить его в папку модуля, где apache, вероятно, даже не имеет прав на чтение / запись, по крайней мере, я не уверен, позволяет ли Drupal хранить там файлы.

Еще одна попытка чтения API заставит меня попробовать file_save_upload($yourfile, array(), $destination_directory, FILE_EXISTS_REPLACE);

0 голосов
/ 28 января 2011

Вы вызываете file_save_upload с неверными параметрами. Обратитесь к документации file_save_upload API для получения соответствующей информации.

...