2016-12-17 13 views
-1

イメージ名がデータベースに保存され、イメージがサーバーに保存されています。私が今やりたいことは、イメージを取り出してイメージの名前を、この場合はデータベースのIDと同じ名前の新しい名前に変更します。DBからイメージを取得し、サーバー上のイメージの名前を変更し、PHPで新しいイメージ名をDBに保存します

ここは私の現在のコードです。

<?php 

//open the database 
include '../db/dbc.php'; 

$getimage = mysql_query("SELECT id, profile_image_url FROM users WHERE profile_image_url !='' "); 

while($image = mysql_fetch_array($getimage)) { 

    //complete image name to the original image 
    $imgdir = "../images/profile/".$image['profile_image_url']; //path where image is + image name 


    $imagename = $image['profile_image_url']; //image name old EXAMPLE: 7823jhasjda6732iojhaksd.jpg 
    $id = $image['id']; //id of the user 


    $temp = explode(".", $imagename); 
    $newfilename = $id . '.' . end($temp); // new image name with id EXAMPLE: 1023.jpg 



    move_uploaded_file($imgdir,"../images/profile/".$newfilename); 

} 


?> 

だから私は、画像を取得し、正常に動作しますが、move_uploaded_fileが何らかの理由で動作しない新しい名前を作成するために管理しています。 私が今行う必要があるのは、$ newfile varialbleで生成された新しいイメージ名で、サーバー上の古いイメージの名前を変更することです。

どのようなヘルプもうまくいくでしょう。

Cheerz

答えて

1

move_uploaded_fileその最終目的地までの一時的なアップロードの場所からアップロードされたファイルを移動させるためのものです。あなたの画像はおそらくある時点でアップロードされていましたが、これ以上はカウントされません。この関数は、最初のパラメータがで、ファイル名がであることを期待し、そのアップロードフォルダー内でファイルを探します。

あなたのケースでは、関数はfalseを返しているはずです。何かが機能しない場合は、関数の結果値をチェックし、what it meansをチェックしてください。

move_uploaded_fileというページからリンクされていて、別のフォルダや別のパーティションにファイルを「名前変更」(移動)することもできるrenameがあります。

0

私は名前を変更しました。これは私の最終的な解決策です。

<?php 

//open the database 
include '../db/dbc.php'; 

$getimage = mysql_query("SELECT id, profile_image_url FROM users WHERE profile_image_url !='' "); 

while($image = mysql_fetch_array($getimage)) { 

    //complete image name to the original image 
    $imgdir = "../images/profile/".$image['profile_image_url']; //path where image is + image name 


    $imagename = $image['profile_image_url']; //image name old EXAMPLE: 7823jhasjda6732iojhaksd.jpg 
    $id = $image['id']; //id of the user 


    $temp = explode(".", $imagename); 
    $newfilename = $id . '.' . end($temp); // new image name with id EXAMPLE: 1023.jpg 

    $newdir = "../images/profile/".$newfilename; 


    rename($imgdir,$newdir); 

} 

?>

関連する問題