php的上傳文件夾
❶ php實現文件上傳到指定文件夾,文件路徑或名字存入資料庫,如何實現啊
define(UPLOAD_ROOT,'你的上傳文件夾路徑');
function fake_random_name($string,$key){
#偽代碼 隨便根據用戶名和上傳時間生成一個偽隨機的文件名作為上傳以後的用戶名
#但解碼的條件是可以根據文件名判斷出文件所有者的用戶名和上傳時間
#需要從資料庫取出用戶的密匙 才能進行解密 密匙是用戶名的前5個字元
#具體加密解密的代碼實現 請參照PHP標准擴展庫 Mcrypt擴展下的N種方法
return $fake_random_name;
}
if(!is_writbale(UPLOAD_ROOT)){
die('you need chown the dir for your uploading file,make it writable~');
}else{
move_uploaded_file($_FILES['POST過來的表單名']['tmp_name'];
/*
* 這個方法會自動調用is_upload_file()方法 檢測是否是合法的http rfc1867協議上傳的文件
* 當然了 你也可以限制是否是你需要的合法文件類型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以
*/
$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include進來 DSN放到根目錄以外去 保護連接文件
$sec_key = substr($_SESSION['loginname'],0,5);
#密匙
$file_name = fake_random_name($_FILES['POST過來的表單名']['tmp_name'],$sec_key);
#加密後的名字
$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))";/SQL
$dbh->query($q_str);
if($dbh->num_rows()==1) echo "上傳成功,已經插入資料庫文件細節(加密)";
}
❷ 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']第二個參數是需要放到伺服器上的絕對路徑+文件名。覺得好請點贊~
❸ 求PHP文件夾上傳解決方案
文件夾上傳,不是可以先壓縮打包後再上傳? php有壓縮、解壓文件操作類,網上也有寫好的封裝方法。
可參考文檔:網頁鏈接
❹ 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」)
❺ php把文件上傳到文件夾以後,要怎麼調用出來呢,文件和圖片的調用方式一樣嗎
文件抄名用中文那就別拉著別人一起惡心了。伺服器的基本原則就是絕對不能出現中文文件名。
因為 Linux 下面普遍的文件名默認編碼都是 UTF-8 。但是很多情況下,壓縮包裡面的文件名都是當前系統的 IO 用字元編碼。而且解壓縮寫入文件時,很多軟體也都沒有提供文件名編碼轉換的問題。
結果就是出現問題。
現在,你要不然就是用你當前編碼去重新壓縮文件,當然,Windows 的編碼肯定不是 UTF8 ,只能是 Linux ,或者嘗試用英文版(不能是用語言包換成英文,必須是純英文版)。要不然就去用支持文件名編碼設置的壓縮協議去重新壓縮,不過具體有哪些支持我不清楚。
最後的一個辦法,那就是你自己寫解壓縮代碼,代碼里獲取文件名後自己轉換。
❻ php 上傳文件到指定文件夾
html"><formaction=""method="post"enctype="multipart/form-data">
<inputtype="file"name="img">
……
</form>
圖片接收頁面如下:
if(is_uploaded_file($_FILES['img']['tmp_name']))
{
//你可以加上,文件類型,大小等判斷
if(move_uploaded_file($_FILES['img']['tmp_name'],'你的目標路徑'))
{
//這就算上傳成功了
}
else
{
//上傳失敗了
}
}
❼ PHP上傳文件到伺服器的指定文件夾,怎麼實現
下面是接收前台傳過來的圖片,然後存儲的代碼。原理接本上都相同。注意。分割線下面是對應的html代碼。不過我這裡面引用了我的主資料庫操作文件。所以你可能運行不起來。但是你可以把sql之類的還有$res之類的地方注釋掉。。不行了。太多了。html頁面發不下你追問吧。我追問裡面再發html代碼
<?php
/**
* Created by alandic lidjio.
* User: lidjio
* Date: 2016/12/16
* Time: 12:04
*/
header("Content-Type:text/html;charset=utf-8");
require_once ('Sqltool.php');
//step 1 使用$_FILES['pic']["error"] 檢查錯誤
if(isset($_GET["action"])=="img"){
if($_FILES["img"]["error"] > 0){
switch($_FILES["img"]["error"]) {
case 1:
echo "<script type='text/javascript'>alert('上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值<br>');history.back();</script>";
break;
case 2:
echo "<script type='text/javascript'>alert('上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值');history.back();</script>";
break;
case 3:
echo "<script type='text/javascript'>alert('文件只有部分被上傳');history.back();</script>";
break;
case 4:
echo "<script type='text/javascript'>alert('沒有文件被上傳');history.back();</script>";
break;
default:
echo "<script type='text/javascript'>alert('末知錯誤');history.back();</script>";
}
exit;
}
$maxsize=2000000; //50k
//step 2 使用$_FILES["pic"]["size"] 限制大小 單位位元組 2M=2000000
if($_FILES["img"]["size"] > $maxsize ) {
echo "<script type='text/javascript'>alert('上傳的文件太大,不能超過{$maxsize}位元組');history.back();</script>";
exit;
}
//step 3 使用$_FILES["pic"]["type"]或是文件的擴展名 限制類型 MIME image/gif image/png gif png jpg
/* list($dl, $xl) = explode("/", $_FILES["pic"]["type"]);
if($dl!="image"){
echo "請上傳一個圖片,不充許其它類型文件";
exit;
}
*/
$allowtype=array("png", "gif", "jpg", "jpeg");
$arr=explode(".", $_FILES["img"]["name"]);
$hz=$arr[count($arr)-1];
if(!in_array($hz, $allowtype)){
echo "<script type='text/javascript'>alert('這是不允許的類型');history.back();</script>";
exit;
}
//step 4 將讓傳後的文件名改名
$filepath="upload/";
$fileimgweb="upload/";//為了符合UBB的路徑
$randname=date("Y").date("m").date("d").date("H").date("i").date("s").rand(100, 999).".".$hz;
//將臨時位置的文件移動到指定的目錄上即可
if(is_uploaded_file($_FILES["img"]["tmp_name"])){
if(move_uploaded_file($_FILES["img"]["tmp_name"],$filepath.$randname)){
$imgnum=$_GET['imgnum'];
$dt_carck_id=$_GET['dt_carck_id'];
echo "<script type='text/javascript'>history.back();</script>";
session_start();
$_SESSION['images'] = $fileimgweb.$randname;
$fileurl=$fileimgweb.$randname;
echo $fileurl;
$sql="UPDATE dt_carcheck SET dt_carck_img".$imgnum."= '"."$fileurl"."' WHERE dt_carck_id='".$dt_carck_id."'";
$res=execute_dml($sql);
echo "<br/>";
// echo $sql;
echo "<br/>";
// echo $res;
}else{
echo "<script type='text/javascript'>alert('上傳失敗');history.back();</script>";
}
}else{
echo"<script type='text/javascript'>alert('不是一個上傳文件');history.back();</script>";
}
}
?>
---------------------------------------------------------------------------------
❽ php中如何上傳整個文件夾里的所有文件
相當於多文件上傳!只有用插件!我現在用的是swfupload這個插件!還不錯!
❾ PHP中怎樣將上傳的圖片存入指定文件夾或目錄
使用範例:
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'];
第二個參數是需要放到伺服器上的絕對路徑+文件名。