Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   переименовка файла (https://forum.antichat.xyz/showthread.php?t=96687)

dailik 16.12.2008 18:28

переименовка файла
 
люди как зделать чтобы фото при загрузке переименовывалась в только что вставленную 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

типа
PHP код:

$id mysql_insert_id();
rename($uploaddir.$_FILES['photo']['name'], $uploaddir.$id); 


[x26]VOLAND 16.12.2008 18:54

Цитата:

Сообщение от .:EnoT:.
типа
PHP код:

$id mysql_insert_id();
rename($uploaddir.$_FILES['photo']['name'], $uploaddir.$id); 


Забыл .'jpg' приписать.

dailik 16.12.2008 23:28

спасибо большое-)

dailik 16.12.2008 23:33

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

optimazer 17.12.2008 00:08

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

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

dailik 17.12.2008 00:12

слушай вобщем я делаю так
Цитата:

$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"]))

dailik 17.12.2008 00:13

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

rushter 17.12.2008 00:22

Цитата:

Сообщение от dailik
а можно сделать так чтоб присваивалось типо 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 "файл не загружен.";
}


Время: 17:19