web-dev-qa-db-ja.com

href構文:ファイル名にスペースを入れても大丈夫ですか

画像を使用するときはいつでもwalls_icobu_hover

だからパスを与えると

<img src="images/walls_ico.ico" />
<img src="buttons/bu_hover.png" />

ユーザーがファイルをアップロードするプロジェクトにいるとき、今までは...

私は、ファイルとフォルダの名前の間にスペースを入れても大丈夫だと思っていました

<img src="buttons/bu hover.png" />
41
Moon

src 属性には 有効なURL を含める必要があります。 URLでは スペース文字は使用できません なので、 エンコード する必要があります。

あなたは書ける:

<img src="buttons/bu%20hover.png" />

しかしnot

<img src="buttons/bu+hover.png" />

なぜなら、DavidRRは彼のコメントで正しく指摘しているように、スペース文字を+は、URLのクエリ文字列部分でのみ有効であり、パス自体では有効ではありません。

57

HTML5を引用して、スペースが許可されていないフレデリックを裏付ける:

http://www.w3.org/TR/html5/links.html#attr-hyperlink-href

A要素とarea要素のhref属性には、スペースで囲まれている可能性のある有効なURLの値が必要です。

「有効なURL」の定義は次を指します: http://url.spec.whatwg.org URLコードポイントを定義します https://url.spec.whatwg.org/# url-code-points

URLコードポイントはASCII alphanumeric、 "!"、 "$"、 "&"、 "'"、 "("、 ")"、 "*"、 "+"、 " 、」、「-」、「。」、「/」、「:」、「;」、「=」、「?」、「@」、「_」、「〜」、および範囲Uのコードポイント+ 00A0からU + D7FF、U + E000からU + FDCF、U + FDF​​0からU + FFFD、U + 10000からU + 1FFFD、U + 20000からU + 2FFFD、U + 30000からU + 3FFFD、U + 40000 U + 4FFFD、U + 50000からU + 5FFFD、U + 60000からU + 6FFFD、U + 70000からU + 7FFFD、U + 80000からU + 8FFFD、U + 90000からU + 9FFFD、U + A0000からU + AFFFD、U + B0000からU + BFFFD、U + C0000からU + CFFFD、U + D0000からU + DFFFD、U + E1000からU + EFFFD、U + F0000からU + FFFFD、U + 100000からU + 10FFFD 。

仕様では、解析アルゴリズムのさまざまな部分でURLコードポイントという用語を次のように使用しています。

CがEOFコードポイントではなく、URLコードポイントではなく、「%」ではない場合、解析エラー。

スキーム、オーソリティ、相対パス、クエリ状態、フラグメント状態の場合:URL全体。

PHPを使用している場合

次に、このコードを見つけます

$result = mysqli_query($con,$sql);
    //echo $ip."<br />";REGEXP
    //echo $name."<br />";
    echo "<table border=2px style='border-radius=20px;' align=center><tr>
    <th>Document ID</th>
    <th>Document Name Type</th>
    <th>Download Documents</th>
    </tr>";//<th>Project Document Type</th>
    while($row = mysqli_fetch_array($result)) {
        $path1=$row['FOLDERNAME'] .'/'. $row['FILENAME'] .'.'. $row['DOCTYPE'];
        $path=str_replace(" ", '%20', $path1);
        echo "<tr>";
        echo "<td>" . $row['DocID'] . "</td>";
       // echo "<td>" . $row['PROJDOCTYPE'] . "</td>";Thank you. Your Apple ID is now ready for use.
        echo "<td>" . $row['DOCNAME'] . "</td>";
        echo '<td><a href=Tender/'.$path.'>'.$row['DOCNAME'].'</a></td>';
        echo "</tr>";
    }
    echo "</table>";

    mysqli_close($con);
3
ashish bhatt