PHP-код для вставки текстового файла в базу данных - PullRequest
0 голосов
/ 02 мая 2010

эй, у меня есть форма, которая имеет поле файла. После выбора файла я хочу вставить выбранный файл в столбец базы данных. как мне это сделать?

Ответы [ 2 ]

3 голосов
/ 02 мая 2010

Я бы не рекомендовал использовать базу данных для содержимого файлов, потому что база данных ограничена, когда дело доходит до этого. Конечно, есть поля text, в которые вы можете поместить контент, но даже они в определенной степени ограничены. В любом случае, тип поля text в будущем не рекомендуется. Я привык бы стараться держаться подальше от этого, если только вам это действительно не нужно. Вы также можете легко открывать содержимое при необходимости, используя fopen, fgets, fclose. Или fread, или file_get_contents вместо сохранения его в базе данных, почему бы не сохранить его в виде файла на сервере, используя file_put_contents .

Однако, просто заметив, что, возможно, вы ссылаетесь на имя файла, хранящегося в базе данных, если это так, то это будет прекрасно работать, и использование varchar (255) должно быть совершенно нормально.

В этом случае убедитесь, что для набора форм есть method = "post" и action = "what.php". И ENCTYPE = "multipart/form-data". Чем обычная кнопка отправки вызовет действие, и вы можете обработать его прямо оттуда. Вы можете использовать move_uploaded_file, чтобы сохранить его в пути на сервере, или, если это текстовый файл, и вам нужно отредактировать его, один из упомянутых выше методов должен это сделать. В противном случае, чтобы получить файл из формы, используйте предопределенный массив PHP $_FILES. Вам нужно получить значения $_FILES['file_input_name']['tmp_name'] и $FILES['file_input_name']['name'], где file_input_name = атрибут name для тега для ввода файла в форму.

1 голос
/ 02 мая 2010

Всего 4 шага:

  1. Вы должны правильно настроить форму: добавьте ENCTYPE = "multipart / form-data" в тег формы.
  2. На вашей странице php вы должны прочитать содержимое файла
  3. Удалить двоичные данные, используя mysql_real_escape_string ()
  4. Используя стандартный запрос, поместите содержимое файла в вашу строку.
...