私が構築した Web サイトのコンテンツ管理システムを作成しています。システムを個別にしたいので、'_admin.php' という 1 つの PHP ファイルだけに存在するようにしました。このファイルに表示されるすべてのコンテンツは、「admin」というサブフォルダーに保存したインクルードから取得されます (邪魔にならない)。
Web サイトで使用される写真は、ルート ディレクトリにある「assets」フォルダーに保存されます。管理ページはルートにもあるため、assets フォルダーに直接アクセスできます。しかし、アップロード ファイル スクリプトは「admin」フォルダーにいくつかのディレクトリを配置し、アップロードされたファイルを assets フォルダーに保存する必要があります。
このmove_uploaded_file()
メソッドはファイルの宛先パスを取りますが、直接パスが必要です。を使用してみ$_SERVER['DOCUMENT_ROOT']
ましたが、結果のディレクトリに私のファイルがないようです。ルートのドキュメントで使用すると、使用getcwd()
できる実際のファイル構造が返されます。エコーアウトしても同じです__FILE__
。しかし、私はこの SERVER 定数を何度も試しましたが、それを使用して自分の Web サイトを見つけることができません。
画像をアップロードするスクリプトはフォームアクションとして呼び出されるため、ルートディレクトリを変数として渡すことはできません。
私が間違っていることはよくわかりません。誰かアイデアはありますか?
ありがとう
編集 **
//See if Files array contains new files
if (!empty($_FILES['file'])){
foreach($_FILES['file']['name'] as $key => $name){
$error = $_FILES['file']['error'][$key];
$temp_name = $_FILES['file']['tmp_name'][$key];
$dir = getcwd();
$move_file = move_uploaded_file($temp_name, "$dir/temp/$name");
if (($error == 0) && ($move_file)){
$uploaded[] = $name;
}else{
die($error);
}
}
echo __FILE__;
echo "<br/>";
echo __DIR__;
echo "<br/>";
echo $_SERVER['DOCUMENT_ROOT'];
exit();
}
現在使用しているアップロード スクリプト。スクリプトと同じディレクトリに画像を保存しているため、このスクリプトは正常に機能します。それらをルートに保存する方法がわかりません。