1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

загрузка файла в поле Image базы данных на MS sql server

Тема в разделе "PHP программирование", создана пользователем Allegro, 7 окт 2016.

  1. Allegro

    Allegro Member

    Репутация:
    0
    Регистрация:
    29 авг 2007
    Сообщения:
    17
    Симпатии:
    1
    Здравствуйте, работодатель поставил задачу, загружать файлы, указанные пользователем в таблицу БД MSQ sql. поле типа Image. Как средствами PHP это реализовать?
    просто текстовые данные вставляются:
    Код:
    $strSQL = "INSERT INTO vopr_files (id) value(100)";
    $stmt = $dbconn->prepare($strSQL);
    $stmt->execute();
    
    Если же делать так:
    Код:
    $strSQL = "INSERT INTO vopr_files (id, files_varb) value (10, select BulkColumn FROM OPENROWSET (Bulk '".$_FILES["userfile"]["tmp_name"]."', SINGLE_BLOB) AS BLOB) ";
    $stmt = $dbconn->prepare($strSQL);
    $stmt->execute();
    
    то ничего не заносится в базу.
     
    #1 Allegro, 7 окт 2016
    Последнее редактирование: 7 окт 2016
  2. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.431
    Симпатии:
    40
    Код:
    select BulkColumn FROM OPENROWSET (Bulk '".$_FILES["userfile"]["tmp_name"]."', SINGLE_BLOB) AS BLOB
    а это точно надо?
    Суньте туда просто переменную с картинкой да и все.
     
  3. Allegro

    Allegro Member

    Репутация:
    0
    Регистрация:
    29 авг 2007
    Сообщения:
    17
    Симпатии:
    1
    Пробовал вот таким способом
    Код:
    $cnt = count($_FILES['userfile']['name']);
    $cont=null;
    if($cnt > 0) {
        for($i = 0; $i < $cnt; ++$i) {       
            if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0){
                $fileName = $_FILES['userfile']['name'][$i];
                $tmpName  = $_FILES['userfile']['tmp_name'][$i];
                $fileSize = $_FILES['userfile']['size'][$i];
                $fileType = $_FILES['userfile']['type'][$i];
    
                //считываем содержания файла
                $fp      = fopen($tmpName, 'r');
                $content = fread($fp, filesize($tmpName));
                $cont = ($cont)."con".addslashes($content);           
                fclose($fp);
          
                if(!get_magic_quotes_gpc()){
                    $fileName = addslashes($fileName);
                    $cont = addslashes($cont);
                   
                if ($stmt = $dbconn->prepare("INSERT INTO vopr_files(id, files_varb) VALUES(14, $cont)")){
                    echo "Загружено ";
                }else{
                    echo "Ошибка загрузки ";
                }
                $stmt->execute();
    
                   
                }
            }           
        }
               
    }
    тоже не срабатывает.
     
  4. vital

    vital Больной Компом Детектед

    Репутация:
    0
    Регистрация:
    29 янв 2006
    Сообщения:
    2.431
    Симпатии:
    40
    Код:
    if(!get_magic_quotes_gpc()){
    
    Перестаньте читать книжки начала 2000х готов. Уберите эту дренвюю хрень и пользуйтесь актуальной версией пхп(7). Этой фичи нету уже пару лет в языке.
    А ошибки какие-то пишет? в еррор лог смотрели? ексепшены отлавливали? последнюю ошкибку из бд доставали?
    $cont = addslashes($cont); - то что тут картинка проверяли?
     
Загрузка...
Похожие Темы - загрузка файла поле
  1. TAPAKAHATOP
    Ответов:
    3
    Просмотров:
    1.096
  2. Надя
    Ответов:
    2
    Просмотров:
    2.225
  3. BBDragon
    Ответов:
    22
    Просмотров:
    15.145
  4. Psixo
    Ответов:
    2
    Просмотров:
    3.167
  5. buxar
    Ответов:
    0
    Просмотров:
    228

Поделиться этой страницей