-
مشكل در تغيير نام فايل
سلام به همه دوستان
من دارم واسه سايتم يه اپلودر مينويسم. شكل ساده شده اين اپلودر به صورت زيره:
[PHP]if($_FILES["userfile"]['size']>55000){
echo 'اندازه فايل شما بيشتر از پنجاه کيلو بايت است لطفا آنرا اصلاح کنيد و دو باره امتحان کنيد';
exit;}
if(file_exists("./upload/".$_FILES["userfile"]['name']."")){
echo 'لطفا نام فايل را عوض کرده و دوباره آپلود کنيد</br>';
exit;}
$upload_dir="./upload/";
$userfile = $_FILES["userfile"]['tmp_name'];
$userfile_name = $_FILES["userfile"]['name'];
$userfile_size = $_FILES["userfile"]['size'];
$filename = basename($userfile_name);
if(! copy( $userfile, $upload_dir.$filename )){
echo "error in upload";
$userfile_name="close.gif";
}[/PHP]
حالا ميخوام نام فايل رو تغيير بدم. نميدونم تابع rename رو كجا و چطوري بايد تعريف كنم.كسي ميتونه كمكم كنه؟
-
سلام 1.از دستور copy استفاده نكن.از move_uploaded_file($_FILES["file"]["tmp_name"]
استفاده كن.
2.بعد از اينكه فايل upload شد شما بايد به اين شكل با گزاشتن source address فايل به اين شكل [php] <?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?> [/php]
-
يه مشكل
فايلها كه پسوندشون يكي نيست.بايد چي كار كنم؟
-
سلام ...
من برای تغییر نام فایل ها بدون محدودیت نوع فایل از این روش استفاده می کنم ... :
[php]
/************************************************** ****************************/
//------------------------- Tabdil Be Araye Kardane Name File
$arr_send = explode(".",$file_name) ;
//------------------------- Be Dast Avardane Te`dade Anasore Araye
$count_arr_send = count ($arr_send) ;
//------------------------- Pasvande File
$file_type_send = $arr_send [$count_arr_send-1] ;
//------------------------- Ijade Name File
for ( $i_send = 0 ; $i_send <= $count_arr_send-2 ; $i_send++ )
{
if ( $i_send == 0 )
$name= $arr_send [$i_send] ;
else
$name = $name."_".$arr_send [$i_send] ;
}
//------------------------- Name Va Pasnde File ...
$file_name = $name.$file_type_send;
/************************************************** ****************************/[/php]