Просмотр полной версии : переименовка файла
люди как зделать чтобы фото при загрузке переименовывалась в только что вставленную 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 />
";
.:EnoT:.
16.12.2008, 18:40
типа
$id = mysql_insert_id();
rename($uploaddir.$_FILES['photo']['name'], $uploaddir.$id);
[x26]VOLAND
16.12.2008, 18:54
типа
$id = mysql_insert_id();
rename($uploaddir.$_FILES['photo']['name'], $uploaddir.$id);
Забыл .'jpg' приписать.
а можно сделать так чтоб присваивалось типо 5646546546564.jpg или D4S5F4DSFDSF5DSF4DSF4564D6S4FSD4.jpg типо такого?
optimazer
17.12.2008, 00:08
когда генеришь новое имя файла псевдослучайным образом главное чтобы сгенерированное имя не совпало с уже существующим именем
тут ты можешь поступить следующим образом:
писать в БД инфо про файлы
а имя составлять "file".$id
где $id - идентификатор файла, который атвоинкрементится и является PK подойдет!
слушай вобщем я делаю так $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"]))
но он и не переименовывает вообще что тут может быть? и незагружает
а можно сделать так чтоб присваивалось типо 5646546546564.jpg или D4S5F4DSFDSF5DSF4DSF4564D6S4FSD4.jpg типо такого?
в md5 шифруй и будет такого типа e10adc3949ba59abbe56e057f20f883e ...
optimazer
17.12.2008, 01:09
нет уж 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 "файл не загружен.";
}
я так понел мн надо userfile переделывать в photo ?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot