導航:首頁 > 編程語言 > phpfileupload

phpfileupload

發布時間:2025-01-27 22:12:30

『壹』 請問ASP要如何使用jquery的插件uploadify,官網上的只有php

Uploadify簡單說來,是基於Jquery的一款文件上傳插件。它的功能特色總結如下:

支持單文件或多文件上傳,可控制並發上傳的文件數

在伺服器端支持各種語言與之配合使用,諸如PHP,.NET,java……

通過參數可配置上傳文件類型及大小限制

通過參數可配置是否選擇文件後自動上傳

易於擴展,可控制每一步驟的回調函數(onSelect, onCancel……)

通過介面參數和CSS控制外觀

更多……

相關鏈接

Uploadify主頁地址:http://www.uploadify.com/ 在該頁面你可以了解到關於他的更多內容。

Uploadify在線演示:在線Demo

Uploadify配置參數及介面文檔:http://www.uploadify.com/documentation

Uploadify插件下載地址:http://www.uploadify.com/download

使用方法

下載插件安裝包後,可以看到裡面的幾個主要文件:jquery.uploadify.js(完成上傳功能的腳本文件,在調用頁面引用)、uploadify.css(外觀樣式表)、uploader.swf(上傳控制項的主體文件,flash控制項)、upload.php(伺服器端處理文件,官方僅提供了php版的)

引用了插件文件後,在頁面中做如下調用:

//聲明一個普通的html文件上傳控制項,並指定id

<input type="file" name="fileInput" id="fileInput" />

//將聲明的普通上傳控制項與Uploadify插件綁定

<script type="text/javascript">

$(document).ready(function() {

$('#fileInput').fileUpload ({

//以下參數均是可選

'uploader' : 'uploader.swf', //指定上傳控制項的主體文件,默認『uploader.swf』

'script' : 'upload.php', //指定伺服器端上傳處理文件,默認『upload.php』

'cancelImg' : 'cancel.png', //指定取消上傳的圖片,默認『cancel.png』

'auto' : true, //選定文件後是否自動上傳,默認false

'folder' : '/uploads' //要上傳到的伺服器路徑,默認『/』

'muti' : true, //是否允許同時上傳多文件,默認false

'fileDesc' : 'rar文件或zip文件' //出現在上傳對話框中的文件類型描述

'fileExt' : '*.rar;*.zip', //控制可上傳文件的擴展名,啟用本項時需同時聲明fileDesc

'sizeLimit': 86400 //控制上傳文件的大小,單位byte

'simUploadLimit' :5 //多文件上傳時,同時上傳文件數目限制

});

});

</script>

上面列出了我認為常用的配置選項,此外還有很多參數可配置,參考官方文檔

通過調用相關功能函數,聲明功能按鈕。

例如聲明上傳功能按鈕(自動上傳時不需要):

<a href="javascript:$('#fileInput').fileUploadStart();">上傳文件</a>

聲明取消多文件上傳時上傳隊列:

<a href="javascript:$('#fileInput').fileUploadClearQueue();">取消上傳隊列</a>

文章來自中國建站:http://www.jz123.cn/text/2419333.html

『貳』 php 怎把上傳的rar zip文件 自動解壓 用的是哪個函數 求高手指點 告急 謝謝 求源代碼

/**
* PHP在線壓縮/解壓實例
*/

date_default_timezone_set('prc');

$zip = new engine_compress_decompress();

if (isset($_POST))
{
$sourcePath = ''; //默認位置

if (isset($_FILES['upfile'])) //上傳文件
{
$stmp = $zip->fileUpload('upfile');
$sourcePath = $stmp['sourcefile'];
$upfileError = $stmp['error'];
}
elseif (isset($_POST['inputfile'])) //輸入目錄或者文件
{
$sourcePath = $_POST['inputfile'];
}
elseif (isset($_POST['decompresssourcefiles'])) //解壓縮提交
{
$isDecompress = $zip->decompress($_POST['decompresssourcefiles'], $_POST['topath']);
if (!empty($isDecompress['filelist']))
{
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#decompress\'</script>';
}

}

$fileList = $zip->fileArray($sourcePath); //解壓縮文件列表

if (isset($_POST['compressinputfileorfolder'])) //壓縮文件目錄或者文件輸入
{
$sourcePath = $_POST['compressinputfileorfolder'];
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
$compressFilelist = $zip->compressFileArray($sourcePath); //壓縮文件列表
}
elseif ((isset($_POST['selectcompressfilelist'])) && (isset($_POST['compresssavefilename'])))
{
$compressFiles = $zip->compress($_POST['selectcompressfilelist'], $_POST['compresssavefilename']); //真實檢測
$isCompress = $zip->CompileZipFile($compressFiles, $zip->savePath, 'all');
if (!empty($isCompress))
{
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
}
}
}

『叄』 php 圖片上傳move_uploaded_file 出錯

上傳文件不存在。很可能是PHP臨時文件夾不存在導致的。

<?php
/*
* 文件上傳類
*/
class Uploads{

//上傳文件
private $uploadFile;

//上傳文件擴展名
private $ext = array('jpeg','jpg','gif','png');

//上傳文件大小
private $size = 5000000;

//上傳文件目錄
private $uploadDir = './uploads/';

//是否自定義名稱,默認FALSE
private $newName = '';

//上傳文件是否可讀,默認為TRUE
private $isRead = TRUE;

//上傳文件是否可寫,默認為TRUE
private $isWrite = TRUE;

//上傳信息
private $info;

/*
* 文件上傳類初始化
*/
public function __construct($newName='',$ext='',$size='',$dir='',$isRead=TRUE,$isWrite=TRUE){
$this->ext = empty($ext)?$this->ext:$ext;
$this->size = empty($size)?$this->size:$size;
$this->dir = empty($dir)?$this->uploadDir:$dir;
$this->newName = $newName;
$this->isRead = $isRead?TRUE:FALSE;
$this->isWrite = $isWrite?TRUE:FALSE;
}
/*
* 處理上傳文件
*/
public function doUpload(){
$this->checkData();
$this->checkFile() or $this->error();
$this->checkExt() or $this->error();
$this->checkSize() or $this->error();
$this->checkError() or $this->error();
$this->checkDir() or $this->error();
$this->upload() or $this->error();
return $this->info['msg'];
}
/*
* 處理上傳文件數據
*/
public function checkData(){
$num = 0;
$newArr = array();
foreach($_FILES as $v){
if(is_array($v['name'])){
$count = count($v['name']);
for($i=0; $i<$count; $i++){
foreach($v as $m=>$n){
$newArr[$num][$m] = $n[$i];
}
$num++;
}
}else{
$newArr[$num] = $v;
$num++;
}

}
$endArr = array();
foreach($newArr as $v){
if($v['name'] != ''){
$endArr[]=$v;
}
}
$this->uploadFile = $endArr;
}
/*
* 檢測上傳文件是否存在
*/
private function checkFile(){
if(empty($this->uploadFile)){
$this->info['error'] = '上傳文件不得為空!!!';
return FALSE;
}
return TRUE;
}
/*
* 檢測上傳文件類型是否合法
*/

private function checkExt(){
if(!is_array($this->ext)){
$this->ext = explode(',', $this->ext);
}
foreach($this->uploadFile as $v){
$ext = strtolower(substr(strrchr(basename($v['name']),'.'),1));
if(!in_array($ext,$this->ext)){
$this->info['error'] = '上傳文件類型非法,禁止上傳!!!';
return FALSE;
}
}
return TRUE;
}

/*
* 檢測上傳文件大小
*/

private function checkSize(){
foreach($this->uploadFile as $v){
if($v['size']>$this->size){
$this->info['error'] = '上傳文件體積過大,上傳失敗!!!';
return FALSE;
}
}
return TRUE;
}

/*
* 檢測文件上傳錯誤代碼
*/
private function checkError(){
foreach($this->uploadFile as $v){
switch($v['error']){
case 0:
return TRUE;
break;
case 1:
$this->info['error'] = '上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值,上傳失敗!!!';
return FALSE;
break;
case 2:
$this->info['error'] = '上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值,上傳失敗!!!';
return FALSE;
break;
case 3:
$this->info['error'] = '文件只有部分被上傳!!!';
return FALSE;
break;
case 4:
$this->info['error'] = '沒有文件上傳!!!';
return FALSE;
break;
}
}
return TRUE;
}

/*
* 檢測上傳文件夾是否存在
*/

private function checkDir(){
if(!file_exists($this->uploadDir)){
mkdir($this->uploadDir,0777,true);
}
if(!is_writeable($this->uploadDir)){
$this->info['error'] = '上傳目錄沒有寫入許可權,上傳失敗!!!';
return FALSE;
}
return TRUE;
}

/*
* 上傳文件
*/

private function upload(){

date_default_timezone_set('PRC');

//檢測文件是否自定義名稱
$name = empty($this->newName)?date('Ymd_His'):$this->newName;
foreach($this->uploadFile as $k=>$v){
$upload_path = $this->uploadDir.$name.'_'.($k+1).strrchr(basename($v['name']),'.');
$upload_path = iconv('UTF-8','gbk',$upload_path);
if(is_uploaded_file($v['tmp_name'])){
if(move_uploaded_file($v['tmp_name'], $upload_path)){
if($this->isRead && $this->isWrite){
chmod($upload_path,0777);
}else if($this->isRead && !$this->isWrite){
chmod($upload_path,0444);
}else if(!$this->isRead && $this->isWrite){
chmod($upload_path,0222);
}else{
chmod($upload_path,0000);
}
$this->info['msg']=array('type'=>1,'success'=>'文件上傳成功','path'=>iconv('gbk','UTF-8',$upload_path));
}else{
$this->info['error'] = '文件上傳失敗!!!';
return FALSE;
}
}
}
return TRUE;

}
/*
* 上傳成功的方法
*/
public function success(){
echo $this->info['msg']['success'];
}

/*
* 上傳文件錯誤方法
*/
public function error(){
echo $this->info['error'];
die;
}

這是我寫的PHP類,你可以參考一下。有什麼特殊需要的,你可以告訴我一下,完善一下上傳類。

『肆』 PHP+swfupload 上傳視頻失敗,報500錯誤,怎麼配置上傳大小

看看路徑是否正確(正反斜杠)。配置php.ini
如何配置php.ini實現PHP文件上傳功能。其中涉及到php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等選項,這些選項是文件上傳成敗的關鍵。我們以php.5.3.5的Windows版本為例說明。

php.ini中文件上傳功能配置選項說明

用文本工具(推薦EditPlus)打開php.ini 配置文件,查找 File Uploads ,在這個區域有以下3個選項:

file_uploads = On

是否允許HTTP文件上傳。默認值為On允許HTTP文件上傳,此選項不能設置為Off。

upload_tmp_dir =

文件上傳的臨時存放目錄。如果沒指定則PHP會使用系統默認的臨時目錄。該選項默認為空,此選項在手動配置PHP運行環境時,也容易遺忘,如果不配置這個選項,文件上傳功能就無法實現,你必須給這個選項賦值,比如upload_tmp_dir = "d:/fileuploadtmp" ,代表在D盤目錄下有一個fileuploadtmp目錄,並且給這目錄讀寫許可權。

upload_max_filesize = 2M

上傳文件的最大尺寸。這個選項默認值為2M,即文件上傳的大小為2M,如果你想上傳一個50M的文件,你必須設定 upload_max_filesize = 50M。
但是僅設置upload_max_filesize = 50M 還是無法實現大文件的上傳功能,我們還必須修改php.ini文件中的 post_max_size 選項。

繼續在 php.ini 中查找 Data Handling ,在這個區域有1個選項:

post_max_size = 8M

指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值。默認為8M。如果POST數據超出限制,那麼$_POST和$_FILES將會為空。
要上傳大文件,你必須設定該選項值大於upload_max_filesize選項的值,例如你設置了upload_max_filesize = 50M ,這里可以把post_max_size = 100M。
另外如果啟用了內存限制,那麼該值應當小於memory_limit 選項的值。

繼續在 php.ini 中查找 Resource Limits ,在這個區域有3個選項:

max_execution_time = 30

每個PHP頁面運行的最大時間值(單位秒),默認30秒。當我們上傳一個較大的文件,例如50M的文件,很可能要幾分鍾才能上傳完,但php默認頁面最久執行時間為30秒,超過30秒,該腳本就停止執行,這就導致出現無法打開網頁的情況。因此我們可以把值設置的較大些,如 max_execution_time = 600。 如果設置為0,則表示無時間限制。

max_input_time = 60

每個PHP腳本解析請求數據所用的時間(單位秒),默認60秒。當我們上傳大文件時,可以將這個值設置的較大些。 如果設置為0,則表示無時間限制。

memory_limit = 128M

這個選項用來設置單個PHP腳本所能申請到的最大內存空間。這有助於防止寫得不好的腳本消耗光伺服器上的可用內存。如果不需要任何內存上的限制將其設為 -1。
php5.2.0以前的版本默認8M; php.5.2.0版本默認為16M。php 5.2.0之後的版本默認為 128M;

php.ini 配置上傳文件功能示例

假設要上傳一個50M的大文件。配置 php.ini 如下:
file_uploads = On
upload_tmp_dir = "d:/fileuploadtmp"
upload_max_filesize = 50M
post_max_size = 100M
max_execution_time = 600
max_input_time = 600
memory_limit = 128M

提示:需要保持 memory_limit > post_max_size > upload_max_filesize

ini_get()獲取php.ini設置值
ini_set()設置php.ini

閱讀全文

與phpfileupload相關的資料

熱點內容
程序員騙房產 瀏覽:462
macd趨勢源碼 瀏覽:938
用秦九韶演算法求多項式fx 瀏覽:603
qt編程教學視頻 瀏覽:17
plc計算機控制演算法 瀏覽:752
linuxapk編譯 瀏覽:195
軟體加密到手機 瀏覽:758
長城m4壓縮機單價 瀏覽:544
反向解析命令 瀏覽:335
pythonnetworkx使用 瀏覽:24
怎麼打開php網頁 瀏覽:853
程序員的心聲大全 瀏覽:144
演算法的標識方法有哪些 瀏覽:28
命令方塊全部指令 瀏覽:262
開汽車美容的用什麼app 瀏覽:601
聯聯美食團購app是哪個 瀏覽:213
怎麼修改手機桌面文件夾背景 瀏覽:36
當一個阿里雲伺服器無法加入置頂 瀏覽:552
python教學工具 瀏覽:29
mir編譯技術 瀏覽:404