0

Mysql データベースと PHP を使用してイメージ ギャラリー CMS を実行しています。私は初心者です。

パスに問題があります。

ここに私のファイル構造があります:このphp doc - root/php/upload_portrait.php. 私の画像はここに保存されています - root/images/portrait_gallery/

そこで../、画像を保存するために を追加しました。これでroot/images/portrait_gallery/ 問題なく動作します。

しかし、データベースでは、url は ../ と共に保存されており、ルート インデックス ファイルから呼び出されているため、そのパスは正しくありません。したがって、画像は表示されません。

データベースで../onを削除するにはどうすればよいですか??INSERT INTO

置換と更新を試みましたが、方法がわかりません。

これが私のコードです

$portrait_url= $_FILES['upload'];

// 2. connect to database: 
include 'connect.php';

// 4. handle moving image from temp location to images folder (using the function billedupload)
$billedurl = billedupload($portrait_url);       
if($billedurl == false){        
    die("Something is wrong");
}

// 5. Insert imageupload in database:
$query = "INSERT INTO portrait (portrait_id, portrait_url) VALUES ('$portrait_id', '$billedurl')";
$result = mysqli_query($dblink, $query) or die( "Forespørgsel 2 kunne ikke udføres: " . mysqli_error($dblink) );

// 6. close connection
mysqli_close($dblink);

function billedupload($filearray){      
    if($filearray['type']=='image/jpeg' or $filearray['type']=='image/png'){
        $tmp_navn = $filearray['tmp_name'];             
        $filnavn = $filearray['name'];          
        $url = '../images/portrait_gallery/' . time() . $filnavn;           
        move_uploaded_file($tmp_navn, $url);            
    return $url;    
    } 
    else{           
        return false;       
    }   
}
4

2 に答える 2

1

2つの選択肢があると思います。

  1. 請求された upload() の $url 行を変更し、そこにある ../ を削除します。
  2. データベースから読み取る関数を変更し、../ を削除します。

str_replace() は、前のポスターで述べたように、おそらく必要な関数です。

于 2012-12-26T18:42:18.107 に答える
0

'/ ..'を削除する必要がある場合は、-次に、

str_replaceはPHPの関数であり、文字列の一部をその場で削除/変更できるため、コードでは、

交換

$billedurl = billedupload($portrait_url);

$billedurl = str_replace('/..','',billedupload($portrait_url));

于 2012-12-26T18:38:59.620 に答える