Мне нужно написать код, чтобы переименовать файлы, если файл с таким же именем уже был загружен. Например, если вы загружаете «internet.jpg», но этот файл уже существует в стороне сервера и бд, то система переименовывает в «internet_2.jpg»Где я могу поместить файл переименования
Мой код:
<?php
mysql_connect("localhost", "user", "user") or die(mysql_error()) ;
mysql_select_db("view") or die(mysql_error()) ;
if ($_FILES["imagen"]["error"] > 0){
echo "ha ocurrido un error";
} else {
$permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png");
$limite_kb = 100;
if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024){
$ruta = "./image/" . $_FILES['imagen']['name'];
$resultado = @move_uploaded_file($_FILES["imagen"]["tmp_name"], $ruta);
if ($resultado){
$nombre = $_FILES['imagen']['name'];
@mysql_query("UPDATE product SET image='data/$nombre' Where id=55") ;
echo "la imagen ha sido actualizada exitosamente";
echo "
";
} else {
echo "ocurrio un error al mover el archivo.";
}
} else {
echo "archivo no permitido, es tipo de archivo prohibido o excede el tamano de $limite_kb Kilobytes";
}
}
?>
----- ----------------- Спасибо -----------------------------
thank you very much Farhan Ihsas, your code worked perfect!
I just change two lines
$new_name = $rand . '_'. $dotName ;
and
@mysql_query("UPDATE product SET image='./image/$new_name' Where product_id=55") ;
Thanks for such a quick response!
thank you both (Farhan Ihsas and Kieran)
Что происходит, когда вы запускаете свой код? Любые ошибки? Пожалуйста, отредактируйте вопрос и добавьте к нему дополнительные сведения. @YoungStudent, aquí se habla en Inglés, правила дома;) – brasofilo
перед перемещением загруженного файла просто проверьте его существование с помощью [link] (http://php.net/manual/en/function.file-exists. php), если вы хотите итерации, как вы писали, следует использовать [link] (http://php.net/manual/en/function.glob.php) для проверки файлов. – Axidepuy