Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема при загрузке фалов, PHP функция загрузки фалов на сервер 
:(
    Опции темы
mnmlmouse
  Дата 22.8.2011, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.8.2011

Репутация: нет
Всего: нет



есть страничка functions.php
 в ней есть функция загрузки файлов, как мне сделать так чтобы при загрузке файла
его имя сменялось на раундомное число 

вот сам код:
Код

function img_load($img, $path, $overwrite = false, $uniquename = false) {
    
    /*
    // маленькие проверки на будущие глюки
    $flag = (bool)ini_get('safe_mode');
    if ($flag || (!strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'win'))) {
    if (getmyuid() != fileowner($path)) {
    echo report('Safe mode uncompatibililty. Check owner for '.$path'');
    }
    }
    */
    
    // разрешенные для закачки расширения (типы) файлов
    $allowed = array('jpg', 'JPG', 'jpeg', 'JPEG', 'gif', 'png');
    
    // максимальный размер файла. В любом случае он не может быть
    $maxsize = 10000000; // 350Kб
    
    // считываем имя закачиваемого файла
    $filename = $_FILES[$img]['name'];
    
    // считываем размер закачиваемого файла
    $filesize = $_FILES[$img]['size'];
    
    // считываем расширение файла
    $fileext = strtolower(substr(strrchr($filename, "."), 1));
    
    // запрещаем закачку неразрешенных типов, например PHP скриптов!!
    if (!in_array($fileext, $allowed)) { echo report('Недопустимый тип файла'); return false; }
    
    // запрещаем закачку слишком больших файлов
    if($filesize > $maxsize) { echo report('Слишком большой файл'); return false; }
    
    // считываем имя файла, который закачан во временную папку
    $tmpfname = $_FILES[$img]['tmp_name'];
    
    // исправляем имя файла, удаляем недопустимые символы, пробелы.
    //$filename = ereg_replace('[^a-z0-9._]', '', str_replace(' ', '_', str_replace('%20', '_', strtolower($filename))));
    //$tmpfname = resizeimg($tmpfname, 's_'.$tmpfname);
    if ($filename == '') { echo report('Недопустимое имя файла. Только английские буквы, цифры и _'); return false; }
    
    // полный путь к закачке файла
    if ($uniquename) $filepath = $filepath.time().'_';
    
    $filepath = $path.$filename;
    
    if (is_uploaded_file($tmpfname)) {
        // если $overwrite!=true проверяем нету ли уже такого файла
        if (!$overwrite) {
        if (file_exists($filepath)) { echo report('Файл с именем <b>'.$filename.'</b> уже существует. Переименуйте файл или удалите его с сервера'); return; }
        }
        
        if (!move_uploaded_file ($tmpfname, $filepath)) { echo report('Ошибка закачки файла: '.$filename); return false; }
        
        // Если пользователь Апача и FTP разные, например nobody и pupkin, то чтобы иметь доступ по FTP (по умолчанию выставляется 0600) поставьте 0644 или 0666 если хотите также перезаписывать по FTP
        @chmod($filepath, 0644);
    }
return true;
}

PM MAIL   Вверх
NFL
Дата 22.8.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 5.5.2009

Репутация: нет
Всего: нет



$filename = mt_rand (10, 1000000);
PM MAIL   Вверх
mnmlmouse
Дата 22.8.2011, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.8.2011

Репутация: нет
Всего: нет



NFL, огромнейшее спасибо Вам за помощь!
PM MAIL   Вверх
mnmlmouse
Дата 22.8.2011, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.8.2011

Репутация: нет
Всего: нет



ксажелению такой вариант не работает а может я просто не там ставлю польшая просьба вставте его на нужное место в функции и целиком выложите код! Буду очень благодарен!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.