php 多文件上传

 更新时间:2016年11月25日 15:59  点击:1496

这个脚本一次上传多个文件。对于一次上传多个文件,首先创建一个按规定的文件数表上载。在创建表时,文件应该分别张贴在每一行和列。在之后安排文件的确切位置,你必须设置为UFile的,键入等于文件输入姓名,身份证UFile的大小等于等于50。类似的,你必须设置为居中对齐,投入,提交类型,提交和上传值名称。关闭表逐一并关闭窗体从该数据进行访问。经过开发了GUI在HTML页面中,您将使用PHP代码的。

让我们来看看设计图形用户界面形式的步骤:

设置标准的HTML来命名的doctype公众公开的HTML代码

开始与<HTML> HTML标记,开始用的<head>代码标记;

名称该程序的名称,开始在身体的程序代码。

确定表格的宽度,边框,对齐和颜色看上去就在输出屏幕。

开始形式使用表单操作命令。定义表单动作等于“multiple_upload_ac.php”,方法等于“后”,字符编码=“mutipart /表单数据”,名称等于“Form1的”和id =“Form1的”

载于下一行的表结构。设置表格的宽度为100%,边境= 0(可设置2个或3点厚),cellpading,可以隐藏和表的颜色。

命名的如“多文件上传粗体字母代码”称号

现在,选择一个文件之一,输入名称,类型,ID和文件的大小,并呼吁该计划之一之一。

对于提交按钮,设置对齐等于中心,输入类型等于提交,提交相同的名称和价值等于上传。

关闭表,然后关闭该窗体。

关闭HTML文件的身体和结束标记。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Multiple Files Upload </TITLE>
<BODY>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form action="multiple_upload_ac.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td><strong>Multiple Files Upload </strong></td>
</tr>
<tr>
<td>Select First file
<input name="ufile[]" type="file" id="ufile[]" size="50" /></td>
</tr>
<tr>
<td>Select Second file
<input name="ufile[]" type="file" id="ufile[]" size="50" /></td>
</tr>
<tr>
<td>Select Third file
<input name="ufile[]" type="file" id="ufile[]" size="50" /></td>
</tr>
<tr>
<td align="center"><input type="submit" name="Submit" value="Upload" /></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
</BODY>
</HTML>


现在,你将不得不使用PHP程序中的多个上传文件的GUI这个HTML代码。为此,你必须先设置所有三个文件的路径。这些文件可以发布,但变量$ _FILES命令,上载文件。现在,你应该从复制文件的路径设置到目标存储空间。在复制文件时,也必须给予,在处理工作,设置文件名,文件大小,文件的所有三个文件类型的临时名称。也给印刷给予命令'IMG的src'的路径和文件大小的屏幕上的图像文件的命令。现在,使用命令来打印文件错误或进程的成功。此后,申请条件语句打印的失败上传分别命令。

见的步骤:

开始PHP标签“?PHP的

第一组的所有三个文件的路径。

复制文件从源头到目的地的地方是暂时的名称上载

给印刷的文件名,文件大小,文件类型和每个文件的图像源的命令进行上传。

显示给予命令错误或文件的成功。

使用条件语句打印上载或每个文件的失败。

<?php
// Setting path for files

$path1= "C:\wamp\www\projects\public_html\upload_file\".$_FILES['ufile']['name'][0];
$path2= "C:\wamp\www\projects\public_html\upload_file\".$_FILES['ufile']['name'][1];
$path3= "C:\wamp\www\projects\public_html\upload_file\".$_FILES['ufile']['name'][2];

//copy file to where you want to store file

copy($_FILES['ufile']['tmp_name'][0], $path1);
copy($_FILES['ufile']['tmp_name'][1], $path2);
copy($_FILES['ufile']['tmp_name'][2], $path3);

echo "File Name :".$_FILES['ufile']['name'][0]."<BR/>";
echo "File Size :".$_FILES['ufile']['size'][0]."<BR/>";
echo "File Type :".$_FILES['ufile']['type'][0]."<BR/>";
echo "<img src="$path1" width="150" height="150">";
echo "<P>";

echo "File Name :".$_FILES['ufile']['name'][1]."<BR/>";
echo "File Size :".$_FILES['ufile']['size'][1]."<BR/>";
echo "File Type :".$_FILES['ufile']['type'][1]."<BR/>";
echo "<img src="$path2" width="150" height="150">";
echo "<P>";

echo "File Name :".$_FILES['ufile']['name'][2]."<BR/>";
echo "File Size :".$_FILES['ufile']['size'][2]."<BR/>";
echo "File Type :".$_FILES['ufile']['type'][2]."<BR/>";
echo "<img src="$path3" width="150" height="150">";


//code to display the error or success.

$filesize1=$_FILES['ufile']['size'][0];
$filesize2=$_FILES['ufile']['size'][1];
$filesize3=$_FILES['ufile']['size'][2];

if($filesize1 && $filesize2 && $filesize3 != 0)
{
echo "<BR />";
echo "your files have entered successfully";
}

else {
echo "ERROR.....";
}

if($filesize1==0) {
echo "There're something problem in your first file!";
echo "<BR />";
}

if($filesize2==0) {
echo "There're something problem in your second file!";
echo "<BR />";
}

if($filesize3==0) {

echo "There're something problem in your third file!";
echo "<BR />";
}

?>

参考了网上部分资料,自己改写了一个方便的获取经纬度信息的类Geo,其中Latitude和Longtitude分别是纬度和经度。其中最重要的构造函数就是传入地名,通过Webrequest从Google Map获得经纬度值,在含有地理位置信息的项目里可以很方便的调用,即Geo g = new Geo("北京师范大学");然后g.Latitude和g.Longtitude就是北京师范大学的纬度和经度了,它们分别是39.9614580,116.3692820。Geo的实现如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;

namespace YourNameSpace
{
    /// <summary>
    /// a class for latitude and longtitude
    /// </summary>
    [Serializable]
    public class Geo
    {
        /// <summary>
        /// latitude
        /// </summary>
        private string _latitude = "";

        /// <summary>
        /// longtitude
        /// </summary>
        private string _longtitude = "";

        /// <summary>
        /// default constructor
        /// </summary>
        public Geo()
        {

        }

        /// <summary>
        /// construct geo given latitude and longtitude
        /// </summary>
        /// <param name="latitude"></param>
        /// <param name="longtitude"></param>
        public Geo(string latitude, string longtitude)
        {
            _latitude = latitude;
            _longtitude = longtitude;
        }
       
        /// <summary>
        /// construct geo given name of a place
        /// </summary>
        /// <param name="location"></param>
        public Geo(string location)
        {
            string output = "csv";
            string url = string.Format("http://maps.google.com/maps/geo?q={0}&output={1}", location, output);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                string[] tmpArray = sr.ReadToEnd().Split(',');
                _latitude = tmpArray[2];
                _longtitude = tmpArray[3];
            }
        }

        /// <summary>
        /// get latitude(纬度)
        /// </summary>
        public string Latitude
        {
            get { return _latitude; }
            set { _latitude = value; }
        }

        /// <summary>
        /// get longtitude(经度)
        /// </summary>
        public string Longtitude
        {
            get { return _longtitude; }
            set { _longtitude = value; }
        }
    }

这个例子将解释您如何上传FTP服务器上的文件。 ftp_put()命令允许上传在服务器上现有的文件。对于上传到FTP服务器的文件,首先你必须先登录到FTP服务器上,搜索源文件上传。定义源文件的目标路径。

然后检查基本连接。如果没有连接好,建立了连接设置使用ftp_connect($ ftp_server)。

检查FTP服务器连接的用户名。

上传文件使用ftp_put()函数,你必须确定连接ID,目标文件,源文件和FTP_Binary。

检查上传的状态,并关闭FTP连接。

结束该程序。

<?php
$ftp_server = "<IP>";
$ftp_user_name = "<username>";
$ftp_user_pass = "<password>";
$destination_file = "C:\wamp\www\projects\public_html\upload_file\".$_FILES['image']['name'];
$sourcefile = $_FILES['image']['name'];

// set up basic connection
$conn_id = ftp_connect($ftp_server);

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name";
exit;
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); // line 30

// check upload status
if (!$upload) {
echo "FTP upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as $destination_file";
}

// close the FTP stream
ftp_close($conn_id);

?>

此脚本防止文件被链接到其他文件,因为这迫使脚本文件被下载之前在下载开始。这个脚本是非常重要的高度机密的文件。

在此脚本,filter_var()用于过滤文件和有效的字符串验证的文件,该文件使用过滤器将下载的文件FILTER_SANITIZE_STRING。

用PHP标记(“?php)中,使用filter_var()来过滤下载的文件,并验证从阵列(mytextfile.txt)文件,初始化打印与模具的命令脚本的输出。结束PHP的标记。见例子:


<?php
// filter
$myFile = filter_var($_GET['file'], FILTER_SANITIZE_STRING);

// Then validate
$valid = array('mytextfile.txt', 'mytextfile.txt');
If (!in_array($myFile, $valid)) {
die('H; This is for validation');
}

include($myFile);

?>

<?
$servername ='localhost';
$dbname='test';   //数据库名
$dbusername ='root'; //数据库用户名
$dbpassword ='root'; //数据库密码
 
$link=mysql_connect($servername,$dbusername,$dbpassword);
mysql_select_db($dbname) or die();
mysql_query("set names 'gbk'");

function getip(){
 if($_SERVER['HTTP_X_FORWARDED_FOR']){
  $online_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
 }elseif($_SERVER['HTTP_CLIENT_IP']){
  $online_ip = $_SERVER['HTTP_CLIENT_IP'];
 }else{
  $online_ip = $_SERVER['REMOTE_ADDR'];
 }
 return $online_ip;
}


function ip2int($ip){

   list($ip1,$ip2,$ip3,$ip4)=explode(".",$ip);

   return $ip1*pow(256,3)+$ip2*pow(256,2)+$ip3*256+$ip4;
}
$ip=ip2int(getip());
$sql="select * from iptocity where IP_Start<='$ip' order by IP_Start desc limit 1";
$q=mysql_query($sql);
$rs=mysql_fetch_array($q);
$sheng=$rs["IP_Province"];
$city=$rs["IP_City"];

echo $sheng."->".$city;


?>

mysql ip库下载地址
http://g.111cn.net/down/ipdata.rar

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • jQuery实现简单的文件上传进度条效果

    本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25