Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2012, 13:47   #1
Green4el
Форумчанин
 
Регистрация: 16.04.2012
Сообщений: 146
По умолчанию Загрузка файла

Вопрос следующего характера:

В этой форме выбираем файл:
Код:
  <form enctype="multipart/form-data" action="/music/index.php?r={dir}&t={type}" method="POST" class="a_form">

      <div id="editphoto">
        <label for="example3_field">Выберите файл:</label>
        <input name="MAX_FILE_SIZE" value="0" type="hidden" />
        <input name="filefield" id="file_field" type="file" />
      </div>
             <input name="type" value="video" type="hidden" />

<!--	<select id="type" name="type" >
    {opion_list}
    </select>-->
    <input type="submit" name="submit" value="Upload File" />
  </form>
в index.php обрабатываем:

PHP код:
if(!empty($_GET['r']))
{
    if(
$_URL_structure[catalogs][0])
    {
        if (!(
$row_cr mysql_razdel_table("files"))) die("Ошибка базы данных!\n");
        
        
$income[name] = iconv("UTF-8","cp1251",$_FILES['Filedata']['name']);

        
$file_type=explode(".",$income[name]);
        
$count=count($file_type)-1;
        
$income[category] = $_GET['t'];
        
$income[user_id] = $auth_data[site_user][id];
        
$income[is_public] = 0;

        
$income_keys array_keys($income);
        foreach (
$income_keys as $income_keys_tmp)
        {
            unset(
$tmp);
            
$tmp trim($income[$income_keys_tmp]);
            if (!empty(
$tmp))
            {
                
$msql[columns] .= "`" $income_keys_tmp "`, ";
                
$msql[val] .= "'" $income[$income_keys_tmp] . "', ";
            } else
            {
                
$msql[columns] .= "`" $income_keys_tmp "`, ";
                
$msql[val] .= "NULL, ";
            }
        }
        
        
$msql[columns] = substr($msql[columns], 0, -2);
        
$msql[val] = substr($msql[val], 0, -2);


        
$query "insert into `" $row_cr[records_table] . "` (`name`,`category`,`user_id`,`is_public`,`file_type`) values ('".$income[name]."','".$_GET['t']."','".$_GET['r']."',".$income[is_public].",'".$file_type[$count]."')";    
        
mysql_query($query);
        
        
$id mysql_insert_id();
        
        
$uploadDir $_SERVER["DOCUMENT_ROOT"].'/htm/files/'.$_GET['r'].'/'.$_GET['t'].'/';
        
$uploadFile $uploadDir .basename($id.".".$file_type[$count]); 
        
    }
    else 
    {
        
$uploadDir $_SERVER["DOCUMENT_ROOT"].'/htm/files/'.$_GET['r'].'/'.$_GET['t'].'/';
        
$uploadFile $uploadDir basename("avatar.jpg");
    }

unset(
$_GET['r']);
if (
$_POST['submit'] != ''
{
    if (!isset(
$_GET['jqUploader'])) 
    {
        if (
move_uploaded_file ($_FILES['filefield']['tmp_name'], $uploadFile)) {
            
        }
    } 

else 
{
    if (
$_GET['jqUploader'] == 1) {
        if (
$_FILES['Filedata']['name']) 
        {
            if (
move_uploaded_file ($_FILES['Filedata']['tmp_name'], $uploadFile)) {
                
            }
        }
        
    }
}
exit;

Проблема в том, что после загрузки имя файла оказывается пустым, в чём может быть проблема?
Green4el вне форума Ответить с цитированием
Старый 04.05.2012, 14:19   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Основная проблема в том, что код просто чудесный
Что делать ?
1.Проверяйте доходит ли скрипт до этого места
Код:
if (move_uploaded_file ($_FILES['filefield']['tmp_name'], $uploadFile)) {
2.Смотрите var_dump($_FILES) и var_dump($uploadFile)
3.Проверяйте наличие путей и папок из $uploadFile
Cronos20 вне форума Ответить с цитированием
Старый 04.05.2012, 14:45   #3
Green4el
Форумчанин
 
Регистрация: 16.04.2012
Сообщений: 146
По умолчанию

Результат вар дампа:

Код:
array(1) {
 ["filefield"]=>
array(5) {
 ["name"]=> string(14) "Sleep Away.mp3"
 ["type"]=> string(9) "audio/mp3"
 ["tmp_name"]=> string(26) "C:\WINDOWS\Temp\php2ED.tmp"
 ["error"]=> int(0) ["size"]=> int(4842585)
 }
 } NULL
Green4el вне форума Ответить с цитированием
Старый 04.05.2012, 14:51   #4
Green4el
Форумчанин
 
Регистрация: 16.04.2012
Сообщений: 146
По умолчанию

Осознал, что [Filedata][name] пустой, заменил на filefield, название там присутствует. Исправлено.

Последний раз редактировалось Green4el; 04.05.2012 в 14:53.
Green4el вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файла dacorp Работа с сетью в Delphi 1 30.06.2011 09:03
Проблема такова: язык:Delphi7; сохранения файла; загрузка файла в String Grid lightdevil Общие вопросы Delphi 3 06.03.2009 23:10
загрузка из файла RAVAL)) Общие вопросы Delphi 2 04.03.2009 12:48
Загрузка из файла. (*_*) Общие вопросы C/C++ 2 28.02.2009 22:16
Загрузка файла AVer Работа с сетью в Delphi 0 11.02.2007 17:22