Как запросить браузер входных файлов у пользователя в Drupal 7

Привет, мне нужна помощь с этим. Я создал php-скрипт, который я запускаю из копии и вставки в узел как php-код. Мне нужен путь к файлу для обработки файла, как я использую «\birds\birds.xml». Я не хочу указывать путь к файлу, вместо этого я думаю, как создать простую небольшую форму с кнопкой обзора и выбрать файл, а затем отправить его с помощью кнопки отправки. Сохраните путь к файлу в переменной.


person Zero Cool    schedule 30.08.2010    source источник


Ответы (1)


Насколько я понял, кнопка просмотра предназначена для клиентской части (веб-браузера).


Кнопка обзора на стороне клиента

В нем есть 2 части:

  1. Форма загрузки HTML
  2. Скрипт обработки PHP

HTML [форма]

<form enctype="multipart/form-data" action="submit-script.php" method="POST">
    Choose a file to upload: <input name="uploadedfile" type="file" />
    <input type="submit" value="Upload File" />
</form>

PHP [submit-script.php]

$fileName = $_FILES['uploadedfile']['name'];
$target_path = "uploads/";
$target_path = $target_path . basename($fileName); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). " uploaded";
} else{
    echo "Unable to upload!";
}

Кнопка обзора на стороне сервера

Однако, если вы хотите нажать кнопку просмотра и просмотреть сервер, вам придется самостоятельно реализовать кнопку просмотра с помощью ajax или сделать процесс многоэтапным.

Ajax-Way

  1. При нажатии кнопки открывается модальное окно с просмотром каталогов
  2. В сети существует множество сценариев просмотра каталогов с открытым исходным кодом. Вот некоторые из них: простой файловый браузер сервера, fileNice - более изящное решение...
  3. После того, как вы нажмете «ОК» в модальном окне, перед закрытием окна установите некоторый скрытый ввод в родительском файле для выбранного файла (используя javascript). Например. window.parent.selectedFile.value ="выбранный файл"
  4. Как только вы сохраните в своей основной форме. Захватите «selectedFile» из POST и сделайте то, что вам нужно.

Способ без использования Ajax

Для этого вам понадобится несколько форм (на разных страницах). Первая форма будет иметь браузер файлов (см. шаг 2 в Ajax-Way), сохраните выбранный файл в скрытых полях. После перехода во 2-ю форму установите значение в другие скрытые поля... запросите дополнительную информацию (при необходимости, если нет, вы можете пропустить 2-ю форму). После отправки делайте то, что вам нужно...

person Alex    schedule 31.08.2010