2017-01-06 15 views
-2

" "/" 特殊文字が含まれていると"!PHP名前を変更したファイルは、 "PHP 例では、"/ "を含む名前のファイルの名前を変更する方法

+3

'/'がディレクトリのパス区切り文字として使用されているため、これは大部分のオペレーティングシステムでは実行できません。また、「働かない!」問題の説明ではありません。 [ask]をチェックしてください。 – CollinD

+0

私は '$ filename = str_replace("/"、" - $ filename); 'を使うことができますが、ファイルの元の名前を変更したくありません – filip

+0

ファイルの元の名前に'/'文字が含まれているのは本当に疑問です。そして、これらのファイル名をWeb経由でユーザーから受け取っている場合は、ほとんどの場合、これらのファイル名に対してかなりのサニタイズを実行する必要があります。 – CollinD

答えて

1

LinuxマシンとOSXでは、スラッシュ(/)は禁止された文字です。ファイルシステムでは、この文字をファイル名で使用することはできません。

+1

少なくとも2000年以降のWindows。 – CollinD

+0

なんて道はない!!!! – filip

+0

@filip本質的に、はい、方法はありません。それを禁止していないファイルシステムがいくつか存在するかもしれません(私はRackspace CloudFilesストレージシステムではないかもしれないと思います)。通常のファイルシステムではあなたは不運だと思います。 –

0

私は試してみると文字列を変更することはできますが、他のユーザーが言うように...あなたのOSに問題があります。 OSのツリーでは/になります。

/     --> 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) 

?> 

上で実行し、これはテストthis/is/a/test

と呼ばれるファイルへのパスです。見ての通り、これは

string(14) "this-is-a-test" 

結果であるコードです

これはパスのないファイル名this-is-a-test

私はこの回答が違いを見るのに役立つことを願っています。

関連する問題