X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Изменение имени загружаемого файла
Валериан
Валериан
Topic Starter сообщение 5.9.2010, 14:06; Ответить: Валериан
Сообщение #1


У меня есть загрузчик файлов в каталог "upload":
[PHP]
<?php

$dir = './upload/';

if(isset($_FILES["upfile"]))
{
$upfile = $_FILES["upfile"]["tmp_name"];
$upfile_name = $_FILES["upfile"]["name"];
$upfile_size = $_FILES["upfile"]["size"];
$upfile_type = $_FILES["upfile"]["type"];
$error_code = $_FILES["upfile"]["error"];

if($error_code == 0)
{

echo "Имя файла на сервере: ".$upfile."<br>";
echo "Имя файла на компьютере пользователя: ".$upfile_name."<br>";
echo "MIME-тип файла: ".$upfile_type."<br>";
echo "Размер файла: ".$upfile_size."<br><br>";

$upfile_name = $dir . $upfile_name;


copy($upfile,$upfile_name);


}
}

?>


[/PHP]
Все хорошо, но как сделать, чтобы файлу автоматически давалось уникальное имя, а не то, какое у него на компе? Т.к. если он загружает ее на русском языке, она и на сервер идет на русском.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 5.9.2010, 14:17; Ответить: Letmetouchyou
Сообщение #2


[PHP]<?php

$dir = './upload/';

if(isset($_FILES["upfile"]))
{
$upfile = $_FILES["upfile"]["tmp_name"];
$upfile_name = $_FILES["upfile"]["name"];
$upfile_size = $_FILES["upfile"]["size"];
$upfile_type = $_FILES["upfile"]["type"];
$error_code = $_FILES["upfile"]["error"];

if($error_code == 0)
{

echo "Имя файла на сервере: ".$upfile."<br>";
echo "Имя файла на компьютере пользователя: ".$upfile_name."<br>";
echo "MIME-тип файла: ".$upfile_type."<br>";
echo "Размер файла: ".$upfile_size."<br><br>";

$index = strrpos($upfile_name,'.');

$file = substr($upfile_name,0,$index);

$mime = substr($upfile_name,6);

$file =substr(md5($file.time()),0,8);

$file = $file.$mime;


$upfile_name = $dir . $file;


copy($upfile,$upfile_name);


}
}

?>[/PHP]

но ето гнусный вариант. нужно нормальо mime type файла определять
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Валериан
Валериан
Topic Starter сообщение 5.9.2010, 14:31; Ответить: Валериан
Сообщение #3


Да, но русские символы все-равно остаются. Например: если файл называется Валериан, но загружается как d3783fe1ан
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 5.9.2010, 14:38; Ответить: Letmetouchyou
Сообщение #4


Валериан, моя ошбика ))


[PHP]<?php

$dir = './upload/';

if(isset($_FILES["upfile"]))
{
$upfile = $_FILES["upfile"]["tmp_name"];
$upfile_name = $_FILES["upfile"]["name"];
$upfile_size = $_FILES["upfile"]["size"];
$upfile_type = $_FILES["upfile"]["type"];
$error_code = $_FILES["upfile"]["error"];

if($error_code == 0)
{

echo "Имя файла на сервере: ".$upfile."<br>";
echo "Имя файла на компьютере пользователя: ".$upfile_name."<br>";
echo "MIME-тип файла: ".$upfile_type."<br>";
echo "Размер файла: ".$upfile_size."<br><br>";

preg_match('/(.+)?\.(.+)?$/', $upfile_name, $output);

$file = $output[1];

$mime = $output[2];

$file =substr(md5($file.time()),0,8);

$file = $file.$mime;



$upfile_name = $dir . $file;


copy($upfile,$upfile_name);


}
}

?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Валериан
Валериан
Topic Starter сообщение 5.9.2010, 14:59; Ответить: Валериан
Сообщение #5


Спасибо, все работает!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zzporr
zzporr
сообщение 21.1.2011, 21:35; Ответить: zzporr
Сообщение #6


думается что это к лучшему ;)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
сообщение 22.1.2011, 2:03; Ответить: ZhukV
Сообщение #7


Если ожидается загрузка файлов с именем на русском языке, то лучше всего сделать транслит.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
NoDrum
NoDrum
сообщение 22.1.2011, 14:04; Ответить: NoDrum
Сообщение #8


лучше не copy(), а move_uploaded_file()
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
asbury
asbury
сообщение 22.1.2011, 15:34; Ответить: asbury
Сообщение #9


полезная темка, не знаю как оставлять на ней галочку, чтобы потом найти, потому просто пишу этот пост ;)

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыИзменение дизайна шаблона Joomla
0 neesupermario 1790 3.1.2018, 15:20
автор: neesupermario
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыИзменение шрифта в placeholder
6 Alexej_mw 2432 24.8.2017, 12:10
автор: Alexej_mw
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыИзменение цвета в шаблоне
18 shulz 3125 5.12.2016, 17:11
автор: shulz
Открытая тема (нет новых ответов) Изменение адресов у большого количества страниц
8 ToshuK 2565 1.8.2016, 14:07
автор: WoWeb
Открытая тема (нет новых ответов) Изменение внешнего вида элементов
0 vantusxyz 5932 26.6.2016, 1:03
автор: -vantusxyz-


 



RSS Текстовая версия Сейчас: 29.3.2024, 14:36
Дизайн