Upload File

Тема в разделе "PHP программирование", создана пользователем Devochka, 18 авг 2011.

  1. Devochka

    Devochka Гость

    Здравствуйте! PHP только начала изучать. Мне надо загрузить файл в базу. Веб-сервер - XaMPP. При тестировании кода ругается на блок
    "Define File properties" и "Define content". Точно знаю, что неправильно указаны данные файла. Помогите, пожалуйста, разобраться.

    <?
    //connect to database
    $_con = mysql_connect ("localhost", "myUseName", "myPassword");
    if (!$_con){
    die ('Could not connect to database!!!' . mysql_error());
    }
    mysql_select_db("gym", $_con);

    //Define File properties
    $_fileName=$_FILES['File']['File']; // "File" -- это имя загружаемого файла с локалки
    $_fileSize= $_FILES['File']['903KB'];
    $_tempPath= $_FILES['File']['tmp/uploaded'];
    $_fileType= $_FILES['File']["application/pdf"];

    //Define content
    $fp = fopen($tmpName, 'r');
    $content = fread($fp, filesize($tmpName));
    $content = addslashes($content);
    fclose($fp);

    //Insert data
    $query = "INSERT INTO tbl_upload (name, size, type, content ) ".
    "VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
    mysql_query($query) or die('Error, query failed');

    mysql_close($con)
    ?>
     
  2. typak

    typak Гость

    Ниту переменную подставляеш шоб считал
    $content = fread($fp, filesize($tmpName)); здесь нужно подставить временный путь к файлу
    $_tempPath а ты подстовляеш имя файла
    $_fileName это просто имя там нету пути к файлу поэтому и ошибка вылетает неможет найти файл

    кароче замени строки
    $fp = fopen($tmpName, 'r');
    $content = fread($fp, filesize($tmpName));

    на
    $fp = fopen($tempPath, 'r');
    $content = fread($fp, filesize($tempPath));

    и незнаю но вроде удали нафиг или закоментируй эту строку чота она вообще не втему
    $_fileSize= $_FILES['File']['903KB'];


    $_FILES['FILE'][size] у меня вроде


    да если дальше будет ругаться посмотри содержимое масива $_FILE может ты неправильно указала временный каталог $_tempPath= $_FILES['File']['tmp/uploaded']; у меня поумолчанию стоит другой
    кароче зделай print_r($_FILE); и посмотри где в каких ячейках находятся данные и их имена и пропиши так как надо каждой переменной свою ячейку ето так если будет ругаться

    да и еще если пустой будет массив $_files то в форме поменяй type на тот который нужен для передачи данных час невспомню какой толи data/enctype чото такое
     
  3. Devochka

    Devochka Гость

    Здорово!!! У меня все получилось. Правда код пришлось весь перелопатить. Я поменяла все, что ты мне говорил и перепроверила синтаксис, правильность переменных и форму для загрузки файла (присвоила айдишники полям) -- ошибок куча! Вот в итоге какой код получился
    <?
    if(isset($_POST['upload']))
    {
    //connect to database
    $_con = mysql_connect ("localhost", "мойПользователь", "мойПароль");
    if (!$_con){
    die ('Could not connect to database!!!' . mysql_error());
    }
    mysql_select_db("моя база", $_con);

    //Define File properties
    $fileName=$_FILES['uploaded_file']['name'];
    $tempPath= $_FILES['uploaded_file']['tmp_name'];
    $fileType= $_FILES['uploaded_file']["type"];
    $fileSize= $_FILES['uploaded_file']["size"];

    //Define content
    $fp = fopen($tempPath,'r');
    $content = fread($fp, filesize($tempPath));
    $content = addslashes($content);
    fclose($fp);
    //Insert data
    $query = "INSERT INTO tbl_моя_таблица (name, size, type, content ) ".
    "VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
    mysql_query($query) or die('Error, query failed');
    mysql_close($_con);
    }
    ?>
    Спасибо большое!!!
     
Загрузка...
Похожие Темы - Upload File
  1. swyatogor
    Ответов:
    30
    Просмотров:
    1.206
  2. alxndr
    Ответов:
    3
    Просмотров:
    656
  3. Amfion
    Ответов:
    7
    Просмотров:
    661
  4. susinmn
    Ответов:
    1
    Просмотров:
    998
  5. NickProstoNick
    Ответов:
    4
    Просмотров:
    1.327

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