php 中$_FILES 文件上传中重要函数

 更新时间:2016年11月25日 16:48  点击:2248

$_files["file"]["name"] - 被上传文件的名称
$_files["file"]["type"] - 被上传文件的类型
$_files["file"]["size"] - 被上传文件的大小,以字节计
$_files["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_files["file"]["error"] - 由文件上传导致的错误代码

 

<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>

php代码

<?php

if ((($_files["file"]["type"] == "image/gif")
|| ($_files["file"]["type"] == "image/jpeg")
|| ($_files["file"]["type"] == "image/pjpeg"))
&& ($_files["file"]["size"] < 20000))
  {
  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) . " kb<br />";
    echo "stored in: " . $_files["file"]["tmp_name"];
    }
  }
else
  {
  echo "invalid file";
  }

?>

$_files数组内容如下:
$_files['myfile']['name'] 客户端文件的原名称。
$_files['myfile']['type'] 文件的 mime 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_files['myfile']['size'] 已上传文件的大小,单位为字节。
$_files['myfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名,一般是系统默认。可以在php.ini的upload_tmp_dir 指定,但 用 putenv() 函数设置是不起作用的。
$_files['myfile']['error'] 和该文件上传相关的错误代码。['error'] 是在 php 4.2.0 版本中增加的。下面是它的说明:(它们在php3.0以后成了常量)
upload_err_ok
值:0; 没有错误发生,文件上传成功。
upload_err_ini_size
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
upload_err_form_size
值:2; 上传文件的大小超过了 html 表单中 max_file_size 选项指定的值。
upload_err_partial
值:3; 文件只有部分被上传。
upload_err_no_file
值:4; 没有文件被上传。
值:5; 上传文件大小为0.

call_user_func函数的注意事项

parse error: syntax error, unexpected t_list, expecting t_string in

今天在使用这个函数的时候一直提示上述问题。参看官方的手册也没有介绍使用其的注意事项。

附:
mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )
可以传递任何内置的或者用户自定义的函数,除了语言结构如array(),echo(),empty(),eval(),exit(),isset(),list(),print() 和 unset()。

本人的问题就是在对象中存在一个叫list的方法名。故其和php教程的语言结构list()起冲突了。

看实例应用

call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:    
function  a($b,$c)    
{  
echo  $b;  
echo  $c;  
}  
call_user_func('a',  "111","222");  
call_user_func('a',  "333","444");  
//显示  111  222  333  444  
?>

  

调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:  
class  a  {  
function  b($c)    
{  
echo  $c;  
}  
}  
call_user_func(array("a",  "b"),"111");  
//显示  111  
?>

  

call_user_func_array函数和call_user_func很相似,只不过是换了一种方式传递了参数,让参数的结构更清晰:  
function  a($b,  $c)    
{  
echo  $b;  
echo  $c;

  

}  
call_user_func_array('a',  array("111",  "222"));  
//显示  111  222  
?>

 

php教程 mt_rand()随机数函数
mt_rand() 使用 mersenne twister 算法返回随机整数。

语法
mt_rand(min,max)说明
如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 rand_max 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。

在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 mt_rand (5, 11)。
*/

 $rand = mt_rand(0,1);
 if( $rand==0 )
 {
  $array = array(41,20,26,29,30);
 }
 elseif( $rand==1 )
 {
  $array = array(38,42,37,400,444);
 }

 foreach( $array as $v => $vv )
 {
  
  echo "$vvn";
 }

不断阅读,你就会发现一些新内容!

表a

函数

说明

实例

filesize

($file)

此函数以字节为单位返回一个文件的大小。它用于计算一个文件在磁盘上占有多少空间。

<?php教程
// get file size in bytes
echo "size is " . filesize('myfile.html') . " bytes";
?>

fileowner

($file)

filegroup

($file)

这些函数返回一个文件的所有者和组id,用于找出谁“拥有”某一特定的文件。

<?php
// get file owner and group
echo "uid: " . fileowner('myfile.html');
echo "gid: " . filegroup('myfile.html');
?>

fileatime

($file)

filemtime

($file)

这些函数分别返回某一文件最后被访问及修改的时间,用于找出一个文件在一个特定的日期后是否被修改。

<?php
// get file access/modification times
echo "last accessed on: " . date("d-m-y", fileatime('myfile.html'));
 
echo "last modified on: " . date("d-m-y", filemtime('myfile.html'));
?>

fileperms

($file)

此函数返回一个文件许可,用它来检查文件是否可读,可写或可执行。

<?php
// get permissions in octal format
echo "file permissions: " . sprintf('%0', fileperms('myfile.html'));
?>

filetype

($file)

此函数返回文件的“类型”—是否连接,目录,特性或块设备,或常规文件。在执行某项操作前,用它来检验文件的本质。

<?php
// get file type
echo "file type: " . filetype('myfile.html');
?>

stat($file)

这是一个“包罗万象”的函数,它返回一个文件的详细统计资料,包括它的所有者与所属组,大小,最后修改时间,索引节点数目。如果你需要在一个单独的函数调用中获得全面的文件统计资料,请使用此函数而不是前面列举的那些函数。

<?php
// get file statistics
print_r(stat('myfile.html'));
?>

realpath

($file)

此函数将一个相对文件路径转换为绝对文件路径,当需要找出一个文件在磁盘上的准确位置,则使用此函数。

<?php
// get absolute path
// returns "/tmp/myfile.html"
echo "file path: " . realpath("./cook/book/http://www.cnblogs.com/myfile.html");
?>

basename

($file)

dirname

($file)

只要给定一个完整的文件路径,这些函数就能将其分解为各个组成部分,并分别返回文件名和目录。

<?php
// split directory and file names
// returns "/usr/local/bin"
echo "directory: " . dirname("/usr/local/bin/php");
 
// returns "php"
echo "file: " . basename("/usr/local/bin/php");
?>

file($file)

此函数将一文件的内容读入一数组。数组中的每一个元素代表一行文件。此函数用于将文件内容读入一个变量中,以便对它进行进一步的加工。

<?php
// read file contents
$lines = file('myfile.html');
 
// print line by line
for($x=1; $x<=sizeof($lines); $x++) {
?echo "line $x: " . $lines[$x-1] . "n";
}
?>

shuffle数组值随便排序函数
*/

$typename=20;
$rtitle='tt';
for( $i=0;$i<=20;$i++)
{
 $rtitle_rand = array($typename,$rtitle,$typename);
 shuffle($rtitle_rand);//数组进行随机排序
 echo $rtitle_rand['0'].'<br />';
}
[!--infotagslink--]

相关文章

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

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 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
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • php批量替换内容或指定目录下所有文件内容

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

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