0

したがって、これが私のサイトで修正しなければならない唯一の問題です。データベースから投稿を取得し、URL を解析/置換するために呼び出されると、問題が発生します。問題は、スペースを含む重複またはイメージ名のみです。

$result = mysql_query("SELECT * FROM posts ORDER BY postid DESC");

while($row = mysql_fetch_array($result))
  {

$str = $row['post_content'];

$str = preg_replace_callback('#(?:https?://\S+)|(?:www.\S+)|(?:\S+\.\S+)#', function($arr)
{
    if(strpos($arr[0], 'http://') !== 0)
    {
        $arr[0] = 'http://' . $arr[0];
    }

    $url = parse_url($arr[0]);

    // images
    if(preg_match('#\.(png|jpg|gif)$#', $url['path']))
    {
        return '<img src="'. $arr[0] . '" /><br /><br />';
    }

最初にアップロードされた画像に対する処理は次のとおりです。
http://domain.com/server/php/files/filename.jpg
2 番目にアップロードされた画像に対する処理は次のとおりです。
http://domain.com/server/php /files/ファイル名http://(1).jpg

ファイルに名前を付ける方法の命名規則を制御するか、URL 内のスペースを読み取る方法を制御する必要があります。

4

1 に答える 1

0

あなたの投稿には2つの質問があります:

  1. URL回答のスペースを読み取る方法:urlencode()関数を使用できます。

  2. ファイルの命名規則には、次のオプションがあります。

を。ファイル名にスペースを許可しないでください。正規表現を使用してスペースを削除する

b. 最初に db でファイル名を確認し、存在する場合はファイル名に 1 または 2 を追加します。

ご不明な点がございましたら、お知らせください

于 2012-06-27T17:30:08.210 に答える