JQuery AJAX PHP переименовать часть имени файла - PullRequest
0 голосов
/ 05 октября 2011

В веб-интерфейсе я предлагаю пользователю переименовать любое из его изображений. Это делается через приглашение javascript, чтобы получить новое имя, jQuery ajax и php. Когда файл переименован, он должен вступить в силу для 2 файлов, как показано в ссылках ниже. 1 в URL является динамическим. Это идентификатор пользователя. Дело в том, что я только хочу заменить product в имени файла, а не _1317804260, который идет после него. Во второй ссылке у нас есть thumb_ перед именем файла. Итак, еще раз мы хотим заменить product новым переименованием. Работая над этим, кажется, мне нужно много раз использовать explode (), чтобы выполнить работу. Есть ли более простой способ сделать это.

http://domain.com/userfiles/1/images/product_1317804260.gif
http://domain.com/userfiles/1/images/thumbnails/thumb_product_1317804260.gif

Таким образом, в основном, если новое имя newname, конечный вывод файла должен быть

newname_1317804260.gif
thumb_newname_1317804260.gif

Ответы [ 2 ]

1 голос
/ 05 октября 2011
$oldName = "http://domain...product_userid.gif";

$newName = "what the user entered";

$parts = explode('/', $oldName);
$user_path = $parts[3] . '/' . $parts[4]; // it will contain userfiles/1

$parts = explode("_", $oldName);

$product_name = $new_name . "_" . end($parts);
$thumb_name   = "thumb_" . $product_name;
1 голос
/ 05 октября 2011

JS:

var tmpName = "product_1317804260.gif".split("_")
var newName = "newname" + "_" + tmpName[1]

PHP:

$tmpName = explode("_", "product_1317804260.gif");
$newName = "newname" . "_" . $tmpName[1];
...