1

domain/categories または domain/categories/article としてアクセスできる動的 Web サイトがあり、domain/index.php?category/article にリダイレクトされます。

私が直面している問題は、ファイルからの相対パスを使用したいということです。次のように、dirname(FILE)を含むインクルードに対してなんとかそれを行うことができました

ini_set('include_path',  dirname(__FILE__) . '/include');

これはうまくいきます。変更するディレクトリによっては、それも機能します

ini_set('include_path', dirname(__FILE__) . '/../include'); (extra /../)

しかし、img src、A href、または php ヘッダーで同じことをしようとすると、画像またはリンクへの正しいファイル パスが取得されますが、単に機能しません。まったくクリックしなかったかのように何も起こりません。php で生成されたリンクをクリックすると、次のようになります。

print "<a href='" . dirname(__FILE__)  . strtolower(str_replace(" ", "", $row['pageSection'])) . "/" . strtolower(str_replace("", "-", $row['pageTitle'])) . "' alt=''  >";     

HTML ソース コードが次のように読み取られていても、機能しません。

 <a href="C:\validpath\htdocs\domain/category/article>

img へのパス、リンク (および php ヘッダー) をファイルの場所から相対的に作成し、URL を指定しないで動作させるにはどうすればよいですか?

補足: domain/prettyurl/ からサイトにアクセスすると、CSS でさえブレーキがかかりますが、domain/prettyurl (末尾のスラッシュなし) からアクセスするとそうではありません。かなり奇妙です。

4

2 に答える 2

0

ローカルホストでphpを実行しているように見えるので、

dirname(__FILE__) 

ディレクトリ、つまり「C:\validation...」を返しています

使ってみて

 "'http: //' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/include'"

あなたのインクルードパスとして

于 2012-07-28T02:22:41.430 に答える
0

ローカルホストとオンラインで動作するようになりました。これが私のセットアップです。

1) 自分で使ってもいいです 2) 初心者の私たちにより良い代替手段を提供してください

上記でzorancが言ったことを使用しました。たとえば、CSS を dynamic-pretty-url ページで動作させるには、次のように設定します。

<?php
print "<link href='http://" . $_SERVER['HTTP_HOST'] .'/' . dirname($_SERVER['PHP_SELF']) . "/CSS/main.css' rel='stylesheet' type='text/css' />";

?>

警告: 上記のコードは Domain///CSS などのリンクを生成します。余分なスラッシュを除外する必要はまだありますが、CSS やその他すべて (img、a、php ヘッダー) と同じように機能します。

それから、私がしたいたびにこれをしなければなりませんでした:

  1. 動的リンクを作成する
  2. ダイナミック img を作成する
  3. 私のヘッダーフォームにも!私のヘッダーは常に含まれているため、pretty-url を参照している場合、フォームに action='header.php' を含めることはできません。これは、現在参照している pretty-url (ドメイン/カテゴリ) で検索しようとするためです。 /記事など)。header="" php を使用する必要があります。解決策は、ディスカッション/header.php endphp です。

    繰り返しますが、これにより余分なスラッシュが生成されるため、何らかの方法でそれらを削除する必要があることに注意してください.

    このセットアップを使用すると、コードを変更する必要なく、localhost および任意の Web ホストで機能するサイトを作成できますが、やや面倒でエラーが発生しやすくなります。誰かがより良い解決策を持っている場合は、共有してください。

    これは十分に機能し、私の意見では、サイトをアップロードするたびにコードを変更するよりも間違いなく優れています。

    Zoranc に感謝します。本当に役に立ちました。

于 2012-07-28T18:21:30.610 に答える