как переименовать файлы с помощью функции переименования php, когда имя файла содержит символ «/»?

Я пытался использовать rename() в php, но проблема в том, что я не могу переименовать свои файлы, потому что имя файла содержит '/' и, таким образом, оно рассматривается как часть URL-адреса.

Вот мой фрагмент кода:

rename("/home/yashshah/Desktop/check","/home/yashshah/Desktop/a/b");

Я хочу переименовать свой файл "check" в "a/b", но не могу этого сделать. Я также пытался использовать кодировку, но тогда файл переименовывается в a%2Fb (поскольку% 2F означает «/») вместо "a/b".

Любые предложения, пожалуйста?


person yash1996    schedule 04.01.2016    source источник
comment
я думаю, что '/' разрешено переименовывать, но, пожалуйста, проверьте папку /a/b, доступную в каталоге вашего рабочего стола   -  person jilesh    schedule 04.01.2016
comment
Нет...'/' будет пониматься как расширение пути к файлу, а не имя!   -  person yash1996    schedule 04.01.2016
comment
да, именно поэтому вы должны иметь каталог /a/b в каталоге вашего рабочего стола   -  person jilesh    schedule 04.01.2016
comment
Я не хочу иметь каталог a/b... Я хочу переименовать его в a/b...   -  person yash1996    schedule 04.01.2016


Ответы (1)


foreach ($_FILES as $file) {
 $file['name'] = str_replace("/", "%2F" , $file['name']);
}

http://php.net/manual/en/function.str-replace.php

person online Thomas    schedule 04.01.2016
comment
Я понимаю вашу точку зрения, но как я могу получить имя файла в качестве входных данных? Я имею в виду, что при выполнении имя файла должно быть заменено по желанию. Замененные изменения должны одновременно отражаться в имени файла. - person yash1996; 04.01.2016