2017-04-26 23 views
1

move_uploaded_file()は、アップロードされたファイルの名前を設定し、宛先も設定しています。私はこれを持っている:私は試してみましたPHP move_uploaded_fileファイル名を変更してください

$sourcePath = $_FILES['file']['tmp_name']; // Storing source path of the file in a variable 
$targetPath = $_SERVER['DOCUMENT_ROOT'] . '/img/profiles/'.$_FILES['file']['name']; // Target path where file is to be stored 
move_uploaded_file($sourcePath,$targetPath) ; // Moving Uploaded file` 

$_FILES['file']['tmp_name']を爆発が、私は$newfile=$_POST["something"];

変数私のPOSTにアップロードしたファイルの名前を変更し得ることはありません全体を設定し、事前に

+0

を使用しています。投稿された変数をファイル名として使用しますか? '$ targetPath = $ _SERVER ['DOCUMENT_ROOT']です。 '/ img/profiles /' .$_ POST ["something"]; '? – bansi

+0

はい、まさしく..ありがとうございますが、問題はファイルの拡張子です。今私はそれを理解した。私は '$ ext = explode( '。'、$ _FILES ['file'] ['name']);' –

答えて

1

私が正しくあなたの質問を取得していない

//ファイル名

$file_name = $_FILES["file"]["name"]; 
$file_name = preg_replace('/\\.[^.\\s]{3,4}$/', '', $file_name); 

//取得ecxtension

$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); 

//変更名

$imagename = $file_name . time() . "." . $ext; 
+0

ありがとう! –

1

をありがとう$ targetpath変数にファイル名でアップロードする。あなたのコードで

$sourcePath = $_FILES['file']['tmp_name']; 
$newfile=$_POST["something"]; //any name sample.jpg 
$targetPath = $_SERVER['DOCUMENT_ROOT'] . '/img/profiles/'.$newfile; 
move_uploaded_file($sourcePath,$targetPath) ; 

今すぐアップロードされたファイル名は、私はあなたのために、この意志は役に立ち考えるsample.jpg です。

関連する問題