1

少し背景を説明します。phpのコーディングにはDreamweaverCS5を使用し、テストサーバーとしてXAMPP apacheを使用し、リモートサーバーでのテスト用の無料ホスティングには000WebHost.comを使用しています。

画像をリクエストし、他のいくつかの安全なファイルと一緒にwebrootの上に保存するログインフォームを使用してアプリケーションをコーディングしました。すべてのプログラムは、ラップトップのテストサーバーとしてApacheで100%完全に機能します。2番目にファイルをリモートサーバーにコピーすると、webrootの外部にアクセスしようとするリンクが壊れます。ログインページとwebrootの下にある簡単な処理スクリプトにアクセスできますが、それを通過することはできません。

リンクが突然壊れたのはなぜですか?次のようなファイル構造を使用して、すべての相対パスが正しいことをトリプルチェックしました。

  • 含まれています
  • 画像
  • 安全
  • public_html

public_htmlから、ファイルパスを使用しました:$ path ='../Secure/test1.php';

助けてくれてありがとう、私は本当にこれをすぐに終える必要があります。

4

3 に答える 3

1

ムーサが言ったように、あなたはあなたの「public_html」ディレクトリの外にあるものにアクセスすることができないはずです。代わりに、他のすべてのディレクトリをその中に配置し、(必要に応じて)リンクの相対パスを変更して、次のような構造で機能するようにする必要があります。

public_html
|
|_Includes
|
|_Images
|
|_Secure

編集:この回答への私のコメントで述べたように、私はあなたが使用しているホスティング会社を指しているのであって、そこにいるすべてのホスティング業者を指しているのではありません。それは無料のものです、すべてが私たちが望むようになっているわけではありません:)

于 2012-06-17T19:39:15.330 に答える
1

私が間違っていなければ、あなたはプライベートディレクトリに保存されている画像をあなたのホームページに直接ロードしようとしています。問題は、訪問者がプライベートディレクトリにアクセスできないことです。ページに含まれるパスは404になります。ローカルコンピューターでは、ローカルコンピューターであるため、Webサーバーから画像またはリンクが提供されている可能性があります。OSは、ユーザーがWebサーバーであるかどうかをチェックせず、ファイルを表示できるはずです。

アクセス可能なファイルをパブリックフォルダにパブリックに保存するか、PHPを使用して、要求されているファイルを確認し、ディスクからロードして表示するなど、何らかのプロキシメソッドを作成する必要があります。

于 2012-06-18T14:13:49.427 に答える
0

可能な場合はエラーログを確認してください。通常、エラーが発生してもエラーメッセージが表示されない場合は、エラーログが最適な情報源になります。考えられる問題の1つは、ファイルのアクセス許可です。Secureディレクトリとその中のすべてがWebサーバーで読み取り可能であることを確認してください。

于 2012-06-17T19:12:02.440 に答える