php开发之文件上传
1,配置php.ini文件
主要对下面几个属性值进行设置:
2,预定义变量
列表如下:
创建一个上传域,通过_FILES变量输出上传文件的资料。示例代码如下:
<form action="" enctype="multipart/form-data" method="post"
name="uploadfile">上传文件:<input type="file" name="upfile" /><br>
<input type="submit" value="上传" /></form>
<?php
if (is_uploaded_file($_FILES[‘upfile‘][‘tmp_name‘])) {
$upfile =$_FILES["upfile"];
foreach ($upfile as $value) {
echo $value."<br>";
}
}
?>
运行结果如下:
3,文件上传函数
php中使用move_uploaded_file()函数上传文件,语法如下:
bool move_uploaded_file(string filename,string destination)
该函数将文件上传到指定的位置,如果成功则返回true,失败则返回false。参数filename,事临时文件名,即$_FILE[tmp_name];参数destination是上传后保存的新的路径和名称。
示例代码如下:
<form action="" enctype="multipart/form-data" method="post"
name="uploadfile">上传文件:<input type="file" name="upfile" /><br>
<input type="submit" value="上传" /></form>
<?php
if (is_uploaded_file($_FILES[‘upfile‘][‘tmp_name‘])) {
$upfile =$_FILES["upfile"];
if (move_uploaded_file($upfile[‘tmp_name‘], $upfile[‘name‘])) {
echo "上传成功";
}else{
echo "上传失败";
}
}
?>
运行结果如下:
4,多文件上传
多文件上传有多种方法,下面我们根据单文件上传来演化出一种多文件上传。代码示例如下:
<form action="index.php" enctype="multipart/form-data" method="post"
name="uploadfile">上传文件:<br>
<input type="file" name="upfile1" /><br>
<input type="file" name="upfile2" /><br>
<input type="file" name="upfile3" /><br>
<input type="submit" value="上传" /><br>
</form>
<?php
// header(‘Content-Type:text/html;charset=utf-8‘);
$file1 =$_FILES[‘upfile1‘];
$file2 =$_FILES[‘upfile2‘];
$file3 =$_FILES[‘upfile3‘];
if ($file1[‘error‘] == UPLOAD_ERR_OK){
echo "路径:".$file1[‘name‘]."<br>";
if (move_uploaded_file($file1[‘tmp_name‘], $file1[‘name‘])) {
echo "上传成功<br>";
}else{
echo "上传失败<br>";
}
}
if ($file2[‘error‘] == UPLOAD_ERR_OK){
echo "路径:".$file2[‘name‘]."<br>";
if (move_uploaded_file($file2[‘tmp_name‘], $file2[‘name‘])) {
echo "上传成功<br>";
}else{
echo "上传失败<br>";
}
}
if ($file3[‘error‘] == UPLOAD_ERR_OK){
echo "路径:".$file3[‘name‘]."<br>";
if (move_uploaded_file($file3[‘tmp_name‘], $file3[‘name‘])) {
echo "上传成功<br>";
}else{
echo "上传失败<br>";
}
}
?>
运行结果如下:
第二种多文件上传的方式的示例代码如下:
<form action="index.php" enctype="multipart/form-data" method="post"
name="uploadfile">上传文件:<br>
<input type="file" name="upfile[]" /><br>
<input type="file" name="upfile[]" /><br>
<input type="file" name="upfile[]" /><br>
<input type="submit" value="上传" /><br>
</form>
<?php
// header(‘Content-Type:text/html;charset=utf-8‘);
$filearray =$_FILES[‘upfile‘];
print_r($filearray);
foreach ($filearray[‘error‘] as $key =>$error)
{
if ($error==UPLOAD_ERR_OK) {
echo "文件名:".$filearray[‘name‘][$key]."<br>";
if (move_uploaded_file($filearray[‘tmp_name‘][$key], $filearray[‘name‘][$key])) {
echo "上传成功<br>";
}else{
echo "上传失败<br>";
}
}
}
?>
运行结果如下:
除了上面的两种,还有第三种多个文件上传的方式,当然也是我觉得最完美的方式,就是可以一次选择多个文件进行上传。主要就是利用swfupload 来实现。由于我目前的知识有限,会在后面和大家共同学习这个。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。