2017-06-22 8 views
-2

私はユーザーが自分のアバターとして使用する画像をアップロードできるアプリケーションを持っています。方法は以下の通り設定されています。 "アップロード"という名前のフォルダがあり、ユーザーが画像を選択してアップロードしてそこに保存し、ユーザーのユーザー名に名前を変更すると、データベース内の参照がその画像を参照するため、データベースの文字列は次のようになりますこのPHPのエンコードとデコードの文字列

「../uploads/username.jpg」 私は、このような「ユーザー管理」、それらにスペース、とユーザー名を処理するためにPHPのrawurlencode();機能を使用していますので、このユーザーは、それが意志画像をアップロード../uploads/user%20admin.jpg今、私はその画像を表示したいときに私はrawurldecode();機能を使用していますが、それはju stはこのようにデコードしているので正しく動作していません"uploads/user" admin.jpg これは私のPHPで画像を表示します。

<?php 
echo '<td class="col-md-3"> 
<input type="checkbox" name="check_list[]" value="' .$row2['buss_id'].'">' 
. '<img src=' . rawurldecode($row2['pic']) .'> '. $row2['username']; ?> </td> 

より明確にするために、この文字列は、ブラウザで

<img src="../uploads/user" admin.jpg> 

感謝をデコードされている方法です。

答えて

0

引用符がありません。あなたのコードのこの部分:

'<img src=' . rawurldecode($row2['pic']) .'> ' 

はこのようになります。

'<img src="' . rawurldecode($row2['pic']) .'"> ' 

あなたの現在のコードの問題は、それがこのような何かを発することである:

<img src=../uploads/user admin> 

ブラウザその空間を属性間の区切りとして扱うので、次のように解釈します。

<img src="../uploads/user" admin> 
+0

「ブラウザは、空間を「属性の間の区切り文字」として扱います。それが働いてくれてありがとう。しかし、今は画像が表示されていません。その名前に%20の部分が含まれているからです...スペースを別々に扱う方法を見つける必要があるでしょう。 –

関連する問題