rename('/images/old_name.jpg', '/images/new_name.jpg');
このコードはファイルが見つかりませんを与えます。
ファイルが呼び出されるスクリプトは、/source/
フォルダー内に配置されます。
ファイルはhttp://site.com/images/old_name.jpg
から開くことができます
これらのファイルをルートから取得する方法は?
rename
はファイルシステム関数であり、ファイルシステムパスが必要です。しかし、URIパスを使用しているようです。
$_SERVER['DOCUMENT_ROOT']
を使用して、ドキュメントルートへのパスを先頭に追加できます。
rename($_SERVER['DOCUMENT_ROOT'].'/images/old_name.jpg', $_SERVER['DOCUMENT_ROOT'].'/images/new_name.jpg');
または、柔軟性を高めるために、現在のファイルへのパスで dirname
を使用します__FILE__
:
rename(dirname(__FILE__).'/images/old_name.jpg', dirname(__FILE__).'/images/new_name.jpg');
または、相対パスを使用します。 / scriptフォルダーにいるとき、..
は1つのディレクトリレベルを上に移動します。
rename('../images/old_name.jpg', '../images/new_name.jpg');
In PHPルート(/
)は、「webroot」ではなくファイルシステムのルートです。phpファイルが/source/
ディレクトリにあり、画像が/source/images/
その後、これは機能します:
rename('images/old_name.jpg', 'images/new_name.jpg');