當前位置:首頁 » 文件管理 » php上傳圖片重命名

php上傳圖片重命名

發布時間: 2023-07-09 20:51:32

㈠ 如何用php上傳的文件改名

PHP 中的 move_uploaded_file() 函數可以實現,改相應的參數即可

move_uploaded_file(file,newloc)

參數說明
file 必需。規定要移動的文件。
newloc 必需。規定文件的新位置。

注釋:本函數僅用於通過 HTTP POST 上傳的文件。

注意:如果目標文件已經存在,將會被覆蓋。

例如:
<?php
//上傳路徑
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
//下面的$name就是上傳後的文件名字,可以改變,比如之前文件名字為:1.gif 可以改為 2.gif
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
?>

㈡ 阿里雲oss php上傳圖片問題 上傳前把圖片重命名之後再上傳到oss 怎麼寫代碼呢

他這里有一個上傳示例的

<?php

/**
*載入sdk包以及錯誤代碼包
*/
require_once'oss_php_sdk/sdk.class.php';
$oss_sdk_service=newALIOSS();
$bucket='你的bucket名字';

if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]<2000000))
{
if($_FILES["file"]["error"]>0)
{
echo"ReturnCode:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/1024)."KB<br/>";
echo"Tempfile:".$_FILES["file"]["tmp_name"]."<br/>";

$content='';
$length=0;
$fp=fopen($_FILES["file"]["tmp_name"],'r');
if($fp)
{
$f=fstat($fp);
$length=$f['size'];
while(!feof($fp))
{
$content.=fgets($fp,8192);
}
}
$upload_file_options=array('content'=>$content,'length'=>$length);
$upload_file_by_content=$oss_sdk_service->upload_file_by_content($bucket,$_FILES["file"]["name"],$upload_file_options);//$_FILES["file"]["name"]這個就是文件名,你可以自己定義的。
$img_url="http://storage.aliyun.com/".$bucket."/".$_FILES["file"]["name"];
echo"Uploadsuccessfully!TheOSSURLofthisfile:".$img_url."<br/>";
echo"Ifthebucketispublic-read,theuploadedimagecanbeshownas:"."<br/>";
echo"<imgsrc=$img_url/>";
}
}
else
{
echo"Invalidfile";
}

關於文件名我已經給你注釋在代碼中了,你試試看

㈢ php 如何對上傳文件的文件名進行重命名

<html>
<body>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="test.php">
上傳圖片
<input name="tupian" type="file" id="tupian" />
<input type="submit" name="button" id="button" value="上傳" />
</form>
<?php
if (isset($_FILES['tupian'])) {
// echo '<pre>';
// print_r($_FILES["tupian"]);
// echo '</pre>';

if ($_FILES["tupian"]['error'] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["tupian"]["tmp_name"];
$name = $_FILES["tupian"]["name"];
move_uploaded_file($tmp_name, "$name");//在這里進行文件改名
}
echo '<img src="' . $name . '" />';

}
?>
</body>
</html>

㈣ PHP上傳圖片並更改圖片名

題目沒怎麼看明白,回答可能有誤,有問題請追問。

(假設你的表號是$_POST["表號"])
如果你只是想把上傳圖片的文件名改成 表號.gif之類的話,只要把move_uploaded_file($tmp_file, $destination)中的$destination改成$_POST["表號"].「.gif」就可以了。

㈤ thinkphp里上傳的圖片如何進行重命名,命名為自己想要的格式,它默認格式是時間戳的

TP文檔上說明有這個參數,saveRule保存規則:

不為空的時候可以選擇手冊上說的幾種命名規則,不同的場景使用不同的方式,只要加個判斷就可以了。如果同名需要覆蓋原文件的話添加屬性:$upload->uploadReplace = true;

㈥ 如何用PHP給上傳的文件改名

上傳文件,PHP是在你的伺服器上建立臨時文件,日期肯定是當時的,名字是隨機名字,你應該把這個文件COPY到你自己的文件夾下(應該專門用一個文件夾來存放大家上傳的文件)。下面是我上傳文件的例子(部分代碼):

保存部分PHP代碼:
for ($i=1; $i<=$filecnt; $i++){
$f_image="file".$i;
$tmp_name=$HTTP_POST_FILES["$f_image"][tmp_name];
$src_name=$HTTP_POST_FILES["$f_image"][name];
$src_size=$HTTP_POST_FILES["$f_image"][size];
$note_str=$_REQUEST["note$i"];
if (!$tmp_name || !$src_name || $tmp_name=='nono') continue;
$ext=substr(strrchr($src_name,'.'),1);
$ext=strtolower($ext);
if (substr($ext,0,3)=='php' || $ext=='pl' || $ext=='cgi'){
echo "$src_name 沒有保存,因為你傳的是腳本文件,如果你不想在主機上搞破壞,請你壓縮後上傳。<br>";
continue;
}
//處理圖片文件
$imginfo=getimagesize($tmp_name);
if ($imginfo && $imginfo[0]>0){
//壓縮寬度超過800的圖片為800,10K以上的JPG圖片用30%進行壓縮
if ($imginfo[0]>800){
echo "你上傳的圖片幅面為 $imginfo[0] x $imginfo[1] ,將被壓縮到800個象素寬。<br>";
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -sample 800 -quality 80 $tmp_name $tmp_name");
} elseif($imginfo[2]==2 && $src_size>10240) system("/usr/local/bin/convert -quality 30 $tmp_name $tmp_name");
//規范化圖片文件擴展名
if ($imginfo[2]==1) $ext='gif';
elseif ($imginfo[2]==2) $ext='jpg';
elseif ($imginfo[2]==3) $ext='png';
elseif ($imginfo[2]==4) $ext='swf';
elseif ($imginfo[2]==5) $ext='psd';
elseif ($imginfo[2]==6) $ext='bmp';
elseif ($imginfo[2]==7) $ext='tiff';
elseif ($imginfo[2]==8) $ext='tiff';
//壓縮BMP、TIFF文件為JPG格式
if ($imginfo[2]==6 || $imginfo[2]==7 || $imginfo[2]==8){
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 80 $tmp_name $tmp_name.jpg");
rename("$tmp_name.jpg",$tmp_name);
$ext='jpg';
}
}
$save_name="$year_week/$save_id-$i";
if ($ext!='') $save_name.='.'.$ext;
$result="文件 $src_name 保存為 $save_name ";
if(($tmp_name,$save_name)){
$str="insert into clubfile(user,ext,note,fip,pub,fname,fsize) values('$PHP_AUTH_USER','$ext','$note_str','$ip',$pub,'$save_name',$src_size)";
mysql_query($str);
$result .= '成功。';
}
else{
$result .= '失敗!';
}
echo $result.'<br>';

上傳頁面PHP代碼:
echo <<<END
<div class=pagetitle>上傳文件</div>
<center>特別說明:上傳後<b>先</b>在其它網站鏈接的文件將被自動刪除!</center>
<script language="javascript">
var filecnt=1;
function addfile()
{
filecnt++;
document.all.item('fileinput').innerHTML = document.all.item('fileinput').innerHTML + "<br>上傳文件"+filecnt+": <input type=file name=file"+filecnt+" size=30 onBlur=setNote("+filecnt+")> 說明:<input type=text name=note"+filecnt+" size=32>";
form1.filecnt.value=filecnt;
}
function del_note_path(){
for(i=1;i<=filecnt;i++){
v=eval('document.form1.note'+i);
v.value=v.value.replace(/.*\\\\/,'');
}
}
</script>
<form name=form1 method=post enctype="multipart/form-data" action=$_SERVER[PHP_SELF]>
<input type=hidden name=job value='upload_save'>
<input type=hidden name=filecnt value=1>
<INPUT TYPE=hidden name=MAX_FILE_SIZE value=10240000>
<span id=fileinput>上傳文件1: <input type=file name=file1 size=30 onBlur=setNote(1)> 說明:<input type=text name=note1 size=32></span><br>
<input type=button onclick="javascript:addfile();" value='增加上傳文件'>(可以一次上傳多個文件)
<input type=button onclick='javascript:del_note_path();' value='刪除說明中的目錄'><br>
公開: <input type=checkbox name=pub> (選中公開以後,別人可以看見你上傳的文件) <br>
<input type=submit value="確認文件清單,立即上傳">(建議你一定寫上詳細的文件說明,因為上傳後文件將統一命名)
</form>
<a href=$PHP_SELF>返回瀏覽畫面</a>
<script language=javascript>
function setNote(i){
var s='';
eval("s=form1.file"+i+".value");
s=s.toLowerCase();
s=s.substr(s.length-4);
if (s=='.bmp') alert('嚴禁上傳BMP文件:請你用畫圖打開,另存為JPG格式再上傳');
s="if (form1.file"+i+".value!='' && form1.note"+i+".value=='') form1.note"+i+".value=form1.file"+i+".value";
eval(s);
}
</script>
</body>
</html>
END;

㈦ PHP自動重命名文件實現方法

本文實例講述了PHP自動重命名文件實現方法。分享給大家供大家參考。具體方法分析如下:
PHP重命名文件名我們在實際開發過程中經常會使用到,比如用戶上傳文件或是一些緩存文件自動生成的功能我們都需要使用到自動重命名功能。但一般我們在製作上傳文件時命名方式都是使用取系統當前時間加上隨時數的方式在進行,這種方法固然可行但有時候並不能滿足客戶要需求。有些客戶就要求我們的文件名命名方式要像windows系統一樣自動流水編號,比如上傳一個名字為「新建文本文檔」當再有其它人上傳一個文件名為「新建文本文檔」時我們就使用流水號命名意思就是自動然第二個「新建文本文檔」命名為「新建文本文檔(1)」
當再有人上傳同名文件再以此類推。
下面分享一個源碼給大家:
復制代碼
代碼如下:<?php
$file
=
dirname(__FILE__).'/新建
文本文檔.txt';
echo
L_rename($file);
function
L_rename($file){

$iCount
=
0;

$File_type
=
strrchr($file,
'.');

$FilePath
=
substr($file,
0,
strrpos($file,
'.'));

while
(true)
{

if
(is_file($file))
{

++$iCount;

$file
=
$FilePath
.
'('.
$iCount
.')'
.
$File_type;

}else{

break;

}

}

if
(fopen($file,
'w'))
{$Msg
=
'創建成功
'.$file;}

return
$Msg;
}
?>
希望本文所述對大家的PHP程序設計有所幫助。

熱點內容
phpposthtml 發布:2025-02-04 21:37:46 瀏覽:87
最新asp源碼 發布:2025-02-04 21:17:33 瀏覽:570
讓linux死機 發布:2025-02-04 20:48:08 瀏覽:141
單方塊生存伺服器里如何獲取岩漿 發布:2025-02-04 20:48:07 瀏覽:785
快速指數演算法 發布:2025-02-04 20:20:40 瀏覽:299
python在類中定義函數調用函數 發布:2025-02-04 20:14:47 瀏覽:596
安卓手機的壁紙是哪個 發布:2025-02-04 20:14:44 瀏覽:202
java發展前景 發布:2025-02-04 20:10:19 瀏覽:77
mac登陸密碼哪裡設置 發布:2025-02-04 19:50:20 瀏覽:526
手游腳本封號 發布:2025-02-04 19:42:12 瀏覽:437