2009-11-25 8 views
0

Я хочу вставить файлы в mysql из php-функции. Файлы, которые необходимо загрузить, уже присутствуют на сервере, поэтому я не хочу использовать форму загрузки.

Я хочу пройти через каталог и получить информацию о файлах в $_FILES.

Пожалуйста, дайте мне знать, как я получу $file в $_FILES, а затем вызовите загрузку.

$dir_handle = @opendir($path) or die("Unable to open folder"); 

while (false !== ($file = readdir($dir_handle))) { 
    echo "$file"; 
} 

ответ

0

$ _FILES исключительно для обработки файлов, загруженных в скрипт клиентом. Вы должны иметь возможность вставлять содержимое файла, используя file_get_contents() или fopen()/fread() без дальнейших церемоний.

+0

Hi Pekka, . Мне нужно загрузить этот файл как blob в MySQL. Есть функция, которая уже делает это. Я просто позвоню. $ fileName = $ _POST ["name"]; $ filePath = $ _FILES ['Filedata'] ['tmp_name']; echo File :: upload ($ fileName, $ filePath); Я хочу использовать файл $ filePath .. – JadaBharata

+0

$ в вашем цикле должен быть тождественным $ filePath из вашего комментария. –

0

Если файлы уже находятся на сервере, их не нужно «загружать». Их просто нужно переместить.

Вы могли бы попробовать что-то вроде ...

$dir_handle = @opendir($path) or die("Unable to open folder"); 

while (false !== ($file = readdir($dir_handle))) { 
    // example query may be... 
    $sql = sprintf("INSERT INTO table SET filename = %s", mysql_escape_string($path . "/" . $file)); 
    mysql_query($sql); 
} 
+0

Hi Chris, Я хочу загрузить файлы в mysql DB (blobs). Фукция уже существует. Теперь я хочу заполнить файл $ filePath файлами и вызвать загрузку fuction. $ fileName = filter_var ($ _ POST ["name"], FILTER_SANITIZE_STRING); $ filePath = filter_var ($ _ FILES ['Filedata'] ['tmp_name'], FILTER_SANITIZE_STRING); echo File :: upload ($ pid, $ fileName, $ filePath); – JadaBharata

+0

Если вы хотите получить содержимое файла, тогда вы можете сделать то, что упоминал Пекка, и просто использовать file_get_contents или fopen/fread combo, а затем добавить его в свою вставку. –