ФорумПрограммированиеPHP для идиотов → проблема с загрузкой файла

проблема с загрузкой файла

  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2009 г. 7:48

    if(isset($_POST['go']))
    {
    $types = array('.jpg','.gif','.png','.jpeg','.zip','.rar','.tar','.jar','.sis','.sisx','.cab','.exe'); //допустимые типы

    $filename=$_FILES['uploadfile']['name'];
    $ras = substr($filename, strpos($filename,'.'), strlen($filename)-1);
    if(!in_array($ras,$types))
    die('Данный тип файла не поддерживается!');

    $time = time();
    $up_time = date("H:i d.m");
    $file_path = 'files/'.$time.$ra.$ras;
    $name = filtr($_POST['name']);
    $des = filtr($_POST['des']);
    $autor = $mas['login'];
    copy($_FILES['uploadfile']['tmp_name'],$file_path); //записываем файл

    //теперь скрин
    if(isset($_FILES['uploadpic']['tmp_name']))
    {
    $types = array('.jpg','.gif','.png','.jpeg');
    $filename=$_FILES['uploadpic']['name'];
    $ras = substr($filename, strpos($filename,'.'), strlen($filename)-1);
    if(!in_array($ras,$types))
    die('Ошибка загрузки скриншота!');

    $pic = 'pic/'.$time.$ra.$ras;
    move_uploaded_file($_FILES['uploadpic']['tmp_name'],$pic); //записываем файл
    } else {
    $pic = 'no';
    }


    $c_id = intval($_GET['subcategory_id']);

    $sql = mysql_query("INSERT INTO loads(c_id,name,autor,pic,des,file_path,up_time)
    VALUES('$c_id','$name','$autor','$pic','$des','$file_path','$up_time')") or die(mysql_error());
    if($sql)
    {
    header("Location: files.php?subcategory_id=".$c_id."&add_OK=OK");
    }


    }


    код загружает только картинки, остальные разрешения загружать отказывается… в чем проблема
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 28 декабря 2009 г. 7:50, спустя 1 минуту 56 секунд

    какие остальные?
    что пишет?
    все умрут, а я изумруд
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2009 г. 7:52, спустя 2 минуты 19 секунд

    когада гружу .zip то просто записывает путь в БД а файл в папке не появляется… клгда sis , то пишет 'Данный тип файла не поддерживается!'
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2009 г. 7:57, спустя 4 минуты 33 секунды

    а нотайсы молчат? :)
    или они не включены?
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2009 г. 8:06, спустя 9 минут 22 секунды

    var_dump($ras);
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 28 декабря 2009 г. 8:08, спустя 2 минуты 31 секунду

    $types = array('.jpg','.gif','.png','.jpeg');


    вот твоя проблема
    Спустя 68 сек.
    потому что
    isset($_FILES['uploadpic']['tmp_name'])
    всегда тру
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2009 г. 8:10, спустя 1 минуту 15 секунд

    Это не проверка типа, а проверка расширения. Так и заливают шеллы…
    http://www.php.net/manual/en/reserved.variables.files.php
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2009 г. 8:42, спустя 32 минуты 10 секунд


    а нотайсы молчат? :)
    или они не включены?


    молчат
    Спустя 81 сек.

    Это не проверка типа, а проверка расширения. Так и заливают шеллы…
    http://www.php.net/manual/en/reserved.variables.files.php

    а можешь по русски объяснить?
    Спустя 147 сек.
    string(4) ".zip"
    Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test1.ru\www\dd\loads\add_file.php:27) in Z:\home\test1.ru\www\dd\loads\add_file.php on line 59
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2009 г. 8:46, спустя 3 минуты 50 секунд

    PHP-файл я переименную в jpg и залью к Вам, а потом выполню его.
    Проверять надо http://www.php.net/manual/en/reserved.variables.files.php
  • kamachi

    Сообщения: 320 Репутация: N Группа: Кто попало

    Spritz 28 декабря 2009 г. 8:51, спустя 5 минут 45 секунд


    PHP-файл я переименную в jpg и залью к Вам, а потом выполню его.
    Проверять надо http://www.php.net/manual/en/reserved.variables.files.php


    да я не понимаю там что написано, есть на русском подобная мана?
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 28 декабря 2009 г. 8:57, спустя 5 минут 50 секунд

    Health & Mana :)
    все умрут, а я изумруд
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2009 г. 9:34, спустя 36 минут 36 секунд

    тебе же уже сказали :)

    $types = array('.jpg','.gif','.png','.jpeg');


    вот твоя проблема
    Спустя 68 сек.
    потому что
    isset($_FILES['uploadpic']['tmp_name'])
    всегда тру
  • Ewg777

    Сообщения: 510 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2009 г. 9:35, спустя 40 секунд


    тебе же уже сказали :)

    $types = array('.jpg','.gif','.png','.jpeg');


    вот твоя проблема
    Спустя 68 сек.
    потому что
    isset($_FILES['uploadpic']['tmp_name'])
    всегда тру

    Ему маны не хватает. Лимит был исчерпан.
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 28 декабря 2009 г. 9:36, спустя 1 минуту 12 секунд

    Ewg777, :D
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 28 декабря 2009 г. 9:41, спустя 5 минут 24 секунды

    insufficient mana

Пожалуйста, авторизуйтесь, чтобы написать комментарий!