0

PHPでサーバーにファイルをアップロードしています。ファイルの名前を新しい名前に変更したいのですが、できませんでした。ファイルの提案された新しい名前は、1 つの連想配列の値と変数名で構成されます。それを達成するために、次のコードを実行しましたが、新しい名前のファイルを取得できませんでした。私のコードは次のとおりです。

$test_pack_id  = md5(uniqid($this->hash_secret));


    if(!empty($test_pack_id )){
                  $package_image_file = $form_image_data['test_pack_image']['name'];

                  $nwName = rename($package_image_file,$form_data['test_pack_name'].$test_pack_id);  
                  echo $nwName; die;
                }

PHPでファイルの名前を変更する方法について誰か助けてもらえますか? 前もって感謝します。

4

6 に答える 6

2

bool rename (文字列 $oldname , 文字列 $newname [, リソース $context ] )

注:旧称。oldname で使用されるラッパーは、newname で使用されるラッパーと一致する必要があります。

成功すると TRUE を返し、失敗すると FALSE を返します。

<?php
rename("old", "new");
?>

このリンクもチェックして ください http://www.codersmount.com/2011/07/smart-way-for-renaming-uploaded-files-using-php/

于 2013-06-10T05:45:44.583 に答える
1

$form_data で print_r または var_dump を実行する必要があります。これは、'test_pack_name' に渡されるデータが正しくなく、名前の変更が失敗する原因になっていると思われるためです。また、追加のデバッグ情報を提供するために、名前変更の成功または失敗を報告する場合に条件を付けるという swapnesh の提案も含めます。

于 2015-06-21T21:37:29.440 に答える
0

PHPrename();関数

rename ("123", "abc");
rename ("oldname", "newname");
于 2013-06-10T05:45:27.053 に答える
0

PHPrename() が返すtrueまたはfalse

ifステートメント経由かどうかを確認できます

if(rename())
echo "Success";
else
echo "failure";
于 2013-06-10T05:50:06.697 に答える
0

rename他の人が提案したように使用できます。または、アップロードされた時刻を使用してファイルの名前を変更するだけです。これは私が通常行うことです。見てみましょう:

//First separate the original file name from its extension
list($txt, $ext) = explode(".", $name);
//rename it with its timestamp.
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;

お役に立てれば。

于 2013-06-10T05:57:37.277 に答える