⑴ php 如何上傳圖片到我指定的文件夾.
使用這個函數move_uploaded_file ($filename,$path);使用範例: if(!empty($_FILES["magfile"])) {
$uploaddir = $_SERVER['DOCUMENT_ROOT']."/uploads/";
$uploaddir.="test.jpg";
if(move_uploaded_file($_FILES["magfile"]["tmp_name"], $uploaddir)) {
echo "上傳成功!";
}else{
print_r($_FILES);
}
}第一個銷唯參數是上傳到伺服器臨時鍵斗譽文件夾的絕對路徑,$_FILES['文件域名稱']['tmp_name']第二個參數是需要放到伺服器上的絕對路徑+文件名。覺得好請采稿段納~
⑵ 怎麼通過HTML+PHP上傳文件到伺服器
HTML代碼:
<body>
<form action="" method="post" enctype="multipart/form-data" name="upload_form">
<label>選擇圖片文件</label>
<input name="imgfile" type="file" accept="image/gif, image/jpeg"/>
<input name="upload" type="submit" value="上傳" />
</form>
</body>
PHP代碼:
if (isset($_FILES['imgfile'])
&& is_uploaded_file($_FILES['imgfile']['tmp_name']))
{
$imgFile = $_FILES['imgfile'];
$upErr = $imgFile['error'];
if ($upErr == 0)
{
$imgType = $imgFile['type']; //文件類型。
/* 判斷文件類型,這個例子里僅支持jpg和gif類型的圖片文件。*/
if ($imgType == 'image/jpeg'
|| $imgType == 'image/gif')
{
$imgFileName = $imgFile['name'];
$imgSize = $imgFile['size'];
$imgTmpFile = $imgFile['tmp_name'];
/*
將文件從臨時文件夾移到上傳文件夾中。
注意:upfile這個文件夾必須先創建好,不然會報錯。
*/
move_uploaded_file($imgTmpFile, 'upfile/'.$imgFileName);
/*顯示上傳後的文件的信息。*/
$strPrompt = sprintf("文件%s上傳成功<br>"
. "文件大小: %s位元組<br>"
. "<img src='upfile/%s'>"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
else
{
echo "請選擇jpg或gif文件,不支持其它類型的文件。";
}
}
else
{
echo "文件上傳失敗。<br>";
switch ($upErr)
{
case 1:
echo "超過了php.ini中設置的上傳文件大小。";
break;
case 2:
echo "超過了MAX_FILE_SIZE選項指定的文件大小。";
break;
case 3:
echo "文件只有部分被上傳。";
break;
case 4:
echo "文件未被上傳。";
break;
case 5:
echo "上傳文件大小為0";
break;
}
}
}
else
{
}
⑶ php上傳文件到文件夾
//這是給文件重命名
$one = explode(".",$_FILES["file"悔高]["name"]);
$file_name = $_FILES["file"]["name"] = time().".".$one[1];
//這是上傳,用到move_uploaded_file,移動到:./assets/up/這個殲槐文件碧改尺夾
move_uploaded_file($_FILES["file"]["tmp_name"], "./assets/up/" . $file_name);
//這是往資料庫存放的 文件名稱
$information_img = "./assets/up/" . $file_name;
⑷ php 文件上傳
<?php
//$uploaddir = "D:My Documents/phpnow/htdocs/mysite/_notes/upload/";原代碼,路徑少了個斜杠,按道理是錯誤的.
$uploaddir = "D:/My Documents/phpnow/htdocs/mysite/_notes/upload/";//設置文件保存目錄 注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//設置允許上傳文件的類型
// 下面這句,程序中都沒有用到,估計是用來做預覽圖片的瀏覽路徑的.
//因為,如果是在伺服器上面,使用$uploaddir這種本地路徑(相對於http://這種網路路徑)的地址來
//訪問是訪問不到的,所以應該改成這樣如下,相應的圖片的預覽路徑也有一點改動
$patch="http://127.0.0.1/mysite/_notes/upload/";//程序所在路徑
function fileext($filename)
{
return substr(strrchr($filename, '.'), 1);
}//獲取文件後綴名函數
function random($length)
{
$hash = 'CR-';
$chars = '';
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++)
{
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
$a=strtolower(fileext(@$_FILES['file']['name']));//生成隨機文件名函數
if(!in_array(strtolower(fileext(@$_FILES['file']['name'])),$type))
{
$text=implode(",",$type);
echo "您只能上傳以下類型文件: ",$text,"<br>";
}//判斷文件類型
else
{
$filename=explode(".",$_FILES['file']['name']);
do
{
$filename[0]=random(6); //設置隨機數長度
$name=implode(".",$filename); //$name1=$name.".Mcncc";
$uploadfile=$uploaddir.$name;
}
while(file_exists($uploadfile));
//原代碼是先移動文件(已經移動,原文件不存在了),後判斷是否是通過上傳的文件(當然了,文件都沒了,怎麼還會是true呢.),
if(is_uploaded_file(@$_FILES['file']['tmp_name'])&&move_uploaded_file(@$_FILES['file']['tmp_name'],$uploadfile)){
//輸出圖片預覽,注意img標簽的src,有改動
echo "<center>您的文件已經上傳完畢 上傳圖片預覽: </center><br><center><img src='{$patch}{$name}'></center>";
echo"<br><center><a href='javascript:history.go(-1)'>繼續上傳</a></center>";
}else{
echo "上傳失敗!";
}
}
?>
⑸ 關於php控制上傳文件目錄的問題
你直接在move_uploaded_file(臨時文件,新文件名)
函數的第二個參數加上路徑就Ok!
如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<純兆信html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>單文件上傳</title>
<style type="text/做輪css">
<!--
body,td,th {
font-size: 12px;
}
body {
margin-left: 10px;
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
-->
</style></head>
<body>
<form action="" method="post" enctype="multipart/form-data" name="form">
<input name="up_file" type="file" />
<input type="submit" name="submit" value="上傳" />
</form>
<?php
if(file_exists("temp")){
}else{
mkdir("temp");
}
if(!empty($_FILES['up_file']['name'])){
$fileinfo = $_FILES['up_file'];
if($fileinfo['size'] < 1000000 && $fileinfo['size'] > 0){
move_uploaded_file($fileinfo['tmp_name'],"temp/".$fileinfo['name']);
echo '上傳成功';
}else{
echo '文件太大或未知';
}
}
?>
</body>
</html>
我在程序中新建一個目錄,然後將上傳的文件保存到相應的目錄了!
祝你成功猜正!
⑹ php上傳文件到根目錄的某個文件夾中
上傳文件抄的函數move_uploaded_file(filename, 路徑)
但是你所說的要寫個方法
public function uplaodefiles($file = array(), $uploads_dir ="/uploads")
{
if(!empty($file)){
$tmp_name = $file["pictures"]["tmp_name"][$key];
$name = $file["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
return $uploads_dir."/".$name;
}
}
使用的時候:
uplaodefiles($_FILES,「/a」)