HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

переименовка файла
  #1  
Старый 16.12.2008, 18:28
dailik
Познающий
Регистрация: 27.10.2008
Сообщений: 87
С нами: 9230200

Репутация: 3
По умолчанию переименовка файла

люди как зделать чтобы фото при загрузке переименовывалась в только что вставленную id а тоесть например нетак как у них в компе называется "фото123.jpg" а в это 123456.jpg знаю что можно через эту функцию "mysql_insert_id" а как написать? а вот обработчик



Цитата:
if (isset($_FILES["photo"])) {

copy($_FILES["photo"]["tmp_name"], $uploaddir . $_FILES["photo"]["name"]); } else {echo"";}

if (isset($_FILES["photo"]))


{

$good=$_FILES["photo"]["name"];

echo "<center><img src=/fotos/$good width=120 height=120><br />
";
 
Ответить с цитированием

  #2  
Старый 16.12.2008, 18:40
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 850
С нами: 9975266

Репутация: 1916


По умолчанию

типа
PHP код:
$id mysql_insert_id();
rename($uploaddir.$_FILES['photo']['name'], $uploaddir.$id); 
 
Ответить с цитированием

  #3  
Старый 16.12.2008, 18:54
[x26]VOLAND
Постоянный
Регистрация: 07.06.2006
Сообщений: 556
С нами: 10487846

Репутация: 2702


По умолчанию

Цитата:
Сообщение от .:EnoT:.  
типа
PHP код:
$id mysql_insert_id();
rename($uploaddir.$_FILES['photo']['name'], $uploaddir.$id); 
Забыл .'jpg' приписать.
 
Ответить с цитированием

  #4  
Старый 16.12.2008, 23:28
dailik
Познающий
Регистрация: 27.10.2008
Сообщений: 87
С нами: 9230200

Репутация: 3
По умолчанию

спасибо большое-)
 
Ответить с цитированием

  #5  
Старый 16.12.2008, 23:33
dailik
Познающий
Регистрация: 27.10.2008
Сообщений: 87
С нами: 9230200

Репутация: 3
По умолчанию

а можно сделать так чтоб присваивалось типо 5646546546564.jpg или D4S5F4DSFDSF5DSF4DSF4564D6S4FSD4.jpg типо такого?
 
Ответить с цитированием

  #6  
Старый 17.12.2008, 00:22
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
С нами: 9456866

Репутация: 979


По умолчанию

Цитата:
Сообщение от dailik  
а можно сделать так чтоб присваивалось типо 5646546546564.jpg или D4S5F4DSFDSF5DSF4DSF4564D6S4FSD4.jpg типо такого?
в md5 шифруй и будет такого типа e10adc3949ba59abbe56e057f20f883e ...
 
Ответить с цитированием

  #7  
Старый 17.12.2008, 00:08
optimazer
Познающий
Регистрация: 04.12.2008
Сообщений: 46
С нами: 9176631

Репутация: 57
По умолчанию

когда генеришь новое имя файла псевдослучайным образом главное чтобы сгенерированное имя не совпало с уже существующим именем

тут ты можешь поступить следующим образом:
писать в БД инфо про файлы
а имя составлять "file".$id
где $id - идентификатор файла, который атвоинкрементится и является PK подойдет!

Последний раз редактировалось optimazer; 17.12.2008 в 00:15..
 
Ответить с цитированием

  #8  
Старый 17.12.2008, 00:12
dailik
Познающий
Регистрация: 27.10.2008
Сообщений: 87
С нами: 9230200

Репутация: 3
По умолчанию

слушай вобщем я делаю так
Цитата:
$by=$myrow['id']+178;



if (!empty($_FILES['foto']['tmp_name']))
{
$ext = strtolower(strrchr($_FILES['foto']['name'], "."));
$img = $by.$ext;
copy($_FILES['foto']['tmp_name'], $uploaddir.$img);
}

if (isset($_FILES["photo"]))
 
Ответить с цитированием

  #9  
Старый 17.12.2008, 00:13
dailik
Познающий
Регистрация: 27.10.2008
Сообщений: 87
С нами: 9230200

Репутация: 3
По умолчанию

но он и не переименовывает вообще что тут может быть? и незагружает
 
Ответить с цитированием

  #10  
Старый 17.12.2008, 01:09
optimazer
Познающий
Регистрация: 04.12.2008
Сообщений: 46
С нами: 9176631

Репутация: 57
По умолчанию

нет уж md5 не надо, ибо от одинаковых аргументов одинаковый хэш.
а ему нужны уникальные имена

Цитата:
if($_FILES['userfile']['size'] != 0 AND $_FILES['userfile']['size']<=1000000) {
if($_FILES['userfile']['type'] == 'image/jpeg' or $_FILES['userfile']['type'] == 'image/gif' or $_FILES['userfile']['type'] == 'image/png') {
if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {

$today = date("Y-m-d_H-i-s");

if ($_FILES['userfile']['type'] == 'image/jpeg') {
$ext = 'jpeg';
}
if ($_FILES['userfile']['type'] == 'image/gif') {
$ext = 'gif';
}
if ($_FILES['userfile']['type'] == 'image/png') {
$ext = 'png';
}

// блаблабла
$id = mysql_insert_id();

$new_name = "file".$id.".".$ext;

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$new_name)) {
header("Location: КУДА-НИБУДЬ");
} else {
echo "Файл не создан!";
}
}else{
echo "не подходит размер файла!";
}
}else{
echo "не подходит тип файла!";
}
}else{
echo "файл не загружен.";
}

Последний раз редактировалось optimazer; 19.12.2008 в 03:17..
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.