Как переименовать файл с именем, содержащим "/", в PHP пример: "A/B"PHP переименовывать файлы содержат специальные символы "/" и ""
$filename= "A/B";
rename("1.html", $filename.".html");
не работает!
Как переименовать файл с именем, содержащим "/", в PHP пример: "A/B"PHP переименовывать файлы содержат специальные символы "/" и ""
$filename= "A/B";
rename("1.html", $filename.".html");
не работает!
На машинах Linux и на OSX косая черта (/) является запрещенным символом. Файловая система не позволит вам использовать этот символ в имени файла.
Windows с по крайней мере 2000 также. – CollinD
так нет пути !!!! – filip
@filip По сути, да, нет способа. Там может существовать некоторая файловая система, которая не запрещает ее (я думаю, что система хранения Rackspace CloudFiles не может), но для любой нормальной файловой системы, я думаю, вам не повезло. –
Я пробовал, и можно изменить строку, но, как говорят другие пользователи ... возможно/у вас возникнут проблемы с вашей ОС. Becase the /
caracter используется деревом ОС.
/ --> is root
/folderX --> is the folde X in the root folder
/folderX/yourFile --> is the file in the folderX in the root folder
Это код, я бегу на website
<?php
$filename = "this/is/a/test";
$filename = str_replace("/", "-", $filename);
var_dump($filename)
?>
И это результат
string(14) "this-is-a-test"
Как вы видите, что это путь к файлу под названием тест this/is/a/test
И это имя файла без пути this-is-a-test
Я надеюсь, что этот ответ поможет вам увидеть разницу.
Вы не можете сделать это в подавляющем большинстве операционных систем, так как '/' используется как разделитель путей для каталогов. Также «не работает !!!» не является описанием проблемы. Проверьте [ask]. – CollinD
Я могу использовать '$ filename = str_replace ("/"," - ", $ filename); но я не хочу менять исходное имя файла – filip
Я действительно сомневаюсь, что исходное имя файла содержит символ'/'. И вы, скорее всего, будете делать немного санации по этим именам файлов, если вы получаете их от пользователя через Интернет. – CollinD