本文目錄一覽:
php如何實現文件上傳
所謂上傳就是把文件從你電腦本地複製到你的項目指定文件夾下。
但這有個中間過程,就是複製到系統指定的臨時文件夾生成臨時文件。
然後將臨時文件複製到你指定的文件夾下。
剩下的就是各種驗證了。
給你個圖片上傳方法
//上傳一張圖片
$pic = $_FILES[‘pic’];
function upload($pic){
$tmp_name = $pic[‘tmp_name’];
$name = $pic[‘name’];
$type = $pic[‘type’];
$size = $pic[‘size’];
if(!is_uploaded_file($tmp_name)) exit(‘不是上傳文件’);
//判斷是否是圖片
$mine = array(‘image/png’,’image/jpg’,’image/gif’,’image/jpeg’);
if(!in_array($type,$mine)) exit(‘圖片格式不正確’);
//判斷是否有錯誤碼
$error = $pic[‘error’];
switch ($error) {
case 1:
exit(“超出上傳文件的最大限制”);
case 2:
exit(“超出了指定的文件大小”);
case 3:
exit(“只有部分文件被上傳”);
case 4:
exit(“文件沒有被上傳”);
case 6:
exit(“找不到臨時文件夾”);
case 7:
exit(“文件寫入失敗”);
}
echo “================br/”;
echo “上傳文件名稱是:”.$name.”br/”;
echo “上傳文件類型是:”.$type.”br/”;
echo “上傳文件大小是:”.$size.”br/”;
echo “上傳後系統返回的值是:”.$error.”br/”;
echo “上傳文件的臨時存放路徑是:”.$tmp_name.”br/”;
echo”開始移動臨時文件”.’br’;
$des_name = ‘up/’.mt_rand().time().’.’.basename($type);
$res = move_uploaded_file($tmp_name, $des_name);
if($res){
echo “================br/”;
echo “上傳圖片成功”.’br’;
}
}
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上傳文件大小限制?
1. 在php.ini中,做如下修改:\x0d\x0a file_uploads = on\x0d\x0a upload_tmp_dir = /home/upload\x0d\x0a upload_max_filesize = 4000M\x0d\x0a post_max_size = 4000M\x0d\x0a 一般地,設置好上述四個參數後,上傳8M的大體積文件,只設置上述四項還一定能行的通。除非你的網絡真有100M/S的上傳高速,否則你還得關心關心下面的參數:\x0d\x0a max_execution_time = 600\x0d\x0a max_input_time = 600\x0d\x0a memory_limit = 128M\x0d\x0a\x0d\x0a2. 在要確認上傳的 里加入以下行:\x0d\x0a \x0d\x0a3. $_FILES[“userfile”][“error”]返回值說明:\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = 1 文件大小超過了PHP.ini中的文件限制\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = 2 文件大小超過了瀏覽器限制\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = 3 文件部分被上傳\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = 4 沒有找到要上傳的文件\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = 5 服務器臨時文件夾丟失\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = 6 文件寫入到臨時文件夾出錯\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = -1 末充許的類型\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = -2 文件過大,上傳文件不能超過{$this-maxSize}個字節\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = -3 上傳失敗\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = -4 建立存放上傳文件目錄失敗,請重新指定上傳目錄\x0d\x0a $_FILES[‘teacher_pic’][‘error’] = -5 必須指定上傳文件的路徑
php上傳文件到服務器
1、通過PHP,可以把文件上傳到服務器。創建一個文件上傳表單,下面這個供上傳文件的 HTML 表單:
html
body
form action=”upload_file.php” method=”post”
enctype=”multipart/form-data”
label for=”file”Filename:/label
input type=”file” name=”file” id=”file” /
br /
input type=”submit” name=”submit” value=”Submit” /
/form
/body
/html
2、創建上傳腳本,命名為”upload_file.php” 文件含有供上傳文件的代碼:
?php
if ($_FILES[“file”][“error”] 0)
{
echo “Error: ” . $_FILES[“file”][“error”] . “br /”;
}
else
{
echo “Upload: ” . $_FILES[“file”][“name”] . “br /”;
echo “Type: ” . $_FILES[“file”][“type”] . “br /”;
echo “Size: ” . ($_FILES[“file”][“size”] / 1024) . ” Kbbr /”;
echo “Stored in: ” . $_FILES[“file”][“tmp_name”];
}
?
註:通過使用 PHP 的全局數組 “$_FILES”,就可以實現從客戶計算機向遠程服務器上傳文件。
原創文章,作者:IRKA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/149571.html