Ajax File Upload Demo

ThinkPHP
本文实例讲述了ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法。分享给大家供大家参考。具体实现方法分析如下:
首先,AjaxFileUploader插件是一个基于jquery的插件,我们可以使用AjaxFileUploader插件来实现文件异步上传功能了,使用这款插件上传文件不要担心兼容性的问题,它的兼容性可以说兼容所有主流浏览器,下面来给大家介绍一个AjaxFileUploader+thinkphp实现文件上传的实例。
ThinkPHP框架下用AjaxFileUploader插件实现ajax文件上传,支持多种文件格式,页面无刷新上传。
在Lib/Action/目录下创建upAction.class.php文件,代码如下:
代码如下:
class upAction extends BaseAction{
public function index(){
$this->display();
}
/*
*@文件上传
*@author FineYi
*@date 2013-01-23
*/
public function upLoadFile(){
$error = "";
$msg = "";
$fileElementName = 'fileToUpload';
if(!empty($_FILES[$fileElementName]['error'])){
switch($_FILES[$fileElementName]['error']){
case '1':
$error = 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
break;
case '2':
$error = 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
break;
case '3':
$error = 'The uploaded file was only partially uploaded';
break;
case '4':
$error = 'No file was uploaded.';
break;
case '6':
$error = 'Missing a temporary folder';
break;
case '7':
$error = 'Failed to write file to disk';
break;
case '8':
$error = 'File upload stopped by extension';
break;
case '999':
default:
$error = 'No error code avaiable';
}
}elseif(empty($_FILES['fileToUpload']['tmp_name']) || $_FILES['fileToUpload']['tmp_name'] == 'none'){
$error = 'No file was uploaded..';
}else{
$re = $this->up();
if(!$re){
$error = 'Up file fail';
}
$msg = $re['savename']; //文件名
$path = '/upload/bizcoop/'.$msg; //文件路径
$size = $re['size']; //文件大小
}
echo json_encode(array('error'=>$error,'msg'=>$msg,'path'=>$path,'size'=>$size));exit;
}
private function up(){
import('@.Org.UploadFile');//将上传类UploadFile.class.php拷到Lib/Org文件夹下
$upload=new UploadFile();
$upload->maxSize='-1';//默认为-1,不限制上传大小
$upload->savePath= ICTSPACE_DIST_ROOT_PATH.'/www/upload/bizcoop/';//保存路径
$upload->saveRule=uniqid;//上传文件的文件名保存规则
$upload->uploadReplace=true;//如果存在同名文件是否进行覆盖
$upload->allowExts=array('jpg','jpeg','png','gif');//准许上传的文件类型
if($upload->upload()){
$info=$upload->getUploadFileInfo();
return $info[0];
}else{
return false;
exit;
}
}
}
?>
代码如下:
在/Lib/Org/目录下放入ThinkPHP文件上传类就可以了,有一些插件我们需要到官方下载。
希望本文所述对大家的PHP程序设计有所帮助。
Apl berkuasa AI untuk mencipta foto bogel yang realistik
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.
Gambar buka pakaian secara percuma
Penyingkiran pakaian AI
Menjana ai hentai secara percuma.
Editor kod yang mudah digunakan dan percuma
Versi Cina, sangat mudah digunakan
Persekitaran pembangunan bersepadu PHP yang berkuasa
Alat pembangunan web visual
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;
ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.
Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.
Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.
"Cadangan Pembangunan: Cara Menggunakan Rangka Kerja ThinkPHP untuk Melaksanakan Tugas Asynchronous" Dengan perkembangan pesat teknologi Internet, aplikasi Web mempunyai keperluan yang semakin tinggi untuk mengendalikan sejumlah besar permintaan serentak dan logik perniagaan yang kompleks. Untuk meningkatkan prestasi sistem dan pengalaman pengguna, pembangun sering mempertimbangkan untuk menggunakan tugas tak segerak untuk melaksanakan beberapa operasi yang memakan masa, seperti menghantar e-mel, memproses muat naik fail, menjana laporan, dsb. Dalam bidang PHP, rangka kerja ThinkPHP, sebagai rangka kerja pembangunan yang popular, menyediakan beberapa cara mudah untuk melaksanakan tugas tak segerak.
Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.
ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.
Perkhidmatan RPC berdasarkan ThinkPHP6 dan Swoole melaksanakan fungsi pemindahan fail Pengenalan: Dengan perkembangan Internet, pemindahan fail menjadi semakin penting dalam kerja harian kita. Untuk meningkatkan kecekapan dan keselamatan pemindahan fail, artikel ini akan memperkenalkan kaedah pelaksanaan khusus perkhidmatan RPC berdasarkan ThinkPHP6 dan Swoole untuk melaksanakan fungsi pemindahan fail. Kami akan menggunakan ThinkPHP6 sebagai rangka kerja web dan menggunakan fungsi RPC Swoole untuk mencapai pemindahan fail silang pelayan. 1. Standard alam sekitar