2016-10-30 28 views
0

アップロードしたファイルの名前を変更したい場合があります。たとえば、 "image.png"ファイルをアップロードする場合は、アップロード時に "face.png"という名前に変更します。PHPファイルのアップロードファイル名を変更するファイル名を変更する

私はPHPの画像アップロードフォームを持っていますが、ファイルの現在の名前を保持してアップロードしていますが、私は内容を編集できる変数名$ custom_nameを望みます。これはファイルの新しい名前です。

PHPのアップロードフォーム:私は連結を試してみました

if(isset($_FILES['image'])){ 
    $errors= array(); 

    $custom_name = ""; // THIS IS WHERE I WANT TO INSERT NEW NAME 

    $file_name = $_FILES['image']['name']; 
    $file_size =$_FILES['image']['size']; 
    $file_tmp =$_FILES['image']['tmp_name']; 
    $file_type=$_FILES['image']['type']; 
    $file_ext=strtolower(end(explode('.',$_FILES['image']['name']))); 

    $expensions= array("png"); 

    if(in_array($file_ext,$expensions)=== false){ 
    $errors[]='Only PNG files'; 
    echo "Only PNG files"; 
    } 

    if($file_size > 2097152){ 
    $errors[]='Larger than 2MB'; 
    echo "Larger than 2MB"; 
    } 

    if(empty($errors)==true){ 
    move_uploaded_file($file_tmp,"images/quads/".$file_name); 
    echo "Success"; 
    }else{ 
    } 
} 

は、しかし、単にどこの$ custom_name変数を配置する場所を知りません。任意のヘルプ

+0

コードの各部分は何を理解していますか?あなたの問題はどこですか? – Dekel

+0

@Dekelこんにちは、コードは、オンラインチュートリアルからでした、私は良い時間をPHPのファイルのアップロードについて読んで過ごしたと私はこの$ file_name = $ custom_nameを変更する必要があると信じていました。 $ _FILES ['イメージ] ['名前 '];しかし、この作業はしません – Bradley

答えて

1

ため

非常にありがとうは、あなたが既に試した(そしてあなたが本当に持っているように見える)と述べているので、ここでの説明は次のとおりです。

あなたがPHPでファイルをアップロードするとき元のファイル名は$_FILES['image']['name']になります。あなたのコードでは、この値を変数$file_nameに設定します。
すでにファイルの拡張子が$file_extになっていますので、使用することができます。

あなたが使用することができます$custom_name変数に特定の文字列がある場合:

$file_name = $custom_name . $file_ext; 

move_uploaded_fileの2番目のパラメータは、あなたの一例である(作成する新しいファイルのパスです"images/quads/".$file_name )。変数$file_name$custom_name$file_extが含まれていると、あなたが望むものが得られます。

+0

私はあなたの助けをありがとう、ありがとうございました – Bradley

+0

あなたは歓迎です:)それが正しい場合、/ voteupを受け入れることを忘れないでください。 – Dekel

+0

@ブラッドリー、答えを受け入れてくれてありがとう。投票アップ(番号1の上にある上向きの矢印)もできるなら、それを感謝します。ありがとう! – Dekel

関連する問題