2013-09-20 4 views
-3

вот моя проблема: мне нужно переименовать изображения, когда кто-то загрузил их, я хочу использовать дату и время и создать значение $ datatime, и я не знаю, как это сделать, может кто-нибудь скажет мне как это сделать? любая помощь очень оценена ... Большое спасибоПереименуйте загрузку нескольких изображений

<?php if(isset($_POST['action'])=='uploadfiles') { 
$time = time(); 
$date = date('Y-m-d'); 
$datetime = "$time" . "$date"; 

$upload_directory ='uploads/'; 
$count_data   =count($_FILES['data']) ; 
$upload    = $_FILES['data']['name'][$x].','; 

for($x=0;$x<$count_data;$x++) { 
    $upload .= $_FILES['data']['name']["$x" . ""].','; 
    move_uploaded_file($_FILES['data']['tmp_name'][$x], $upload_directory . $_FILES['data']['name'][$x]); ##### upload into your directory  } 

//echo "upload successfully.."; 
$con="INSERT INTO inmuebles (foto1) values ('$upload')"; 
$query=mysql_query($con); } ?> 

ответ

2

Изменение здесь:

move_uploaded_file(
    $_FILES['data']['tmp_name'][$x], 
    $upload_directory . $datetime . $_FILES['data']['name'][$x] 
); ##### upload into your directory 

Здесь $datetime должна быть строка, содержащая метку времени.

+1

Это будет скрывать расширение файла. – theftprevention

+0

@ theftprevention Изменится. Подождите, пожалуйста, обновленный ответ. –

+1

спасибо, ребята, он работает сейчас! : D @PraveenKumar и @ theftprevention очень ценят, что вы действительно помогаете (извините за мой плохой английский): D – user2765552

0

Попробуйте следующее:

$ext = pathinfo($_FILES['data']['name'][$x], PATHINFO_EXTENSION); 
$newname = $datetime . '.' . $ext; 
move_uploaded_file($_FILES['data']['tmp_name'][$x], 
        $upload_directory . $newname); 

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

Если вы хотите сохранить исходное имя файла и просто добавитьdatetime к нему, используйте следующую команду:

$info = pathinfo($_FILES['data']['name'][$x]); 
$ext = $info['extension']; 
$name = $info['filename']; 
$newname = $name . $datetime . '.' . $ext; 
move_uploaded_file($_FILES['data']['tmp_name'][$x], 
        $upload_directory . $newname); 
0

Использование даты и времени является плохим способом однозначно маркировать что-либо из-за границы вашей верности составляет 1 пункт в секунду, а компьютеры - быстрее, чем это, а также то, что более 1 человек может использовать загрузку одновременно. Вместо этого используйте что-то для этого, например UUID (иначе GUID). Вы можете просто использовать функцию uniqid() в PHP, которая является очень простой или если вы читаете комментарии, кто-то написал функцию UUID (используйте версию 5).

http://php.net/manual/en/function.uniqid.php

Смежные вопросы