関数を使用して PHP を使用して画像をアップロードしようとしていますmove_uploaded_file()
。
PHP
// Get image variables
$file = $_FILES['image']['tmp_name'];
$path = "images/products/large/";
$image_hash = "ty1bi"; // This would be generated
//I have also tried this: $path = "home/the_user/public_html/images/products/large/";
//$_SERVER['DOCUMENT_ROOT'] is equal to home/root_user/public_html/
// Upload image
if(!move_uploaded_file($file, $path . $image_hash . ".jpg")) {
header("location:admin/add.php?e=1");
exit;
}
現時点では、私は得ています:
警告: move_uploaded_file(home/root_user/public_html/images/products/large/ty1bi.jpg) [function.move-uploaded-file]: ストリームを開くことができませんでした: /home/root_user/public_html/includes/ にそのようなファイルまたはディレクトリはありませんfunctions.php の 63 行目
警告: move_uploaded_file() [function.move-uploaded-file]: '/tmp/phpJSKsYA' を /home/root_user/public_html/ の 'home/root_user/public_html/images/products/large/ty1bi.jpg' に移動できませんincludes/functions.php の 63 行目
ホスティング アカウントは WHM でセットアップされ、/~the_user/
ディレクトリ経由でサイトにアクセスしています。したがって、サイト名は、メイン/ルート ホスト ドメイン名またはサーバー IP アドレスのいずれかで、その後に/~the_user
.
エラーは/root_user
、WHM ホストのユーザー名となる を示しているため、 にアクセスできないと思います/~the_user
。ドキュメントのルートを変更しようとした$path
ので、それはから始まりhome/
、含まれています/the_user
が、運もありません。
これを行う方法はありますか、またはドメイン名でこれを使用/テストする必要がありますか?
アップデート
ドキュメント ルートはルート ユーザー名の下にあったため、発生していた問題は絶対パスの正しいビルドでした。パスを作成することで正しい方向に進んでいましたが、パス文字列の先頭にスラッシュがないため、これは絶対的なものでした。
このコード行は問題の修正に役立ちました:
$path = "/home/the_user/public_html/images/products/large/";