felayman——PHP中图片上传到服务器

1.upload_file.php

<?php

//该文件负责获取上传的图片的扩展名和随机生成文件名

header("content-type:text/html;charset=utf-8");

/**

* 获取文件扩展名

*Enter description here ...

@param unknown_type $filename

*/

function getFileName($filename){

//strrchr— 查找指定字符在字符串中的最后一次出现

return  substr(strrchr($filename,‘.‘), 1);

}

/**

* 随机生成n位字符串

* Enterdescription here ...

@param unknown_type $num

*/

function rand_str($num){

$str = "qwertyuioplkjhgfdsazxcvbnmQAZWSXEDCRFVTGBYHNUJMIKOLP1234567890";

$str_len = strlen($str)-1;

//echo$str_len;

$s=‘‘;

for ($i = 0; $i < $num; $i++) {

$s.=$str[rand(0,$str_len)];

}

echo $s;

}

?>

2.index.html

<formaction="upload_file.php"method="post">

<inputtype="file" name="file1"/>

<inputtype="submit" value="上传"/>

</form>

3.deal_upload.php

<?php

header("content-type:text/html;charset=utf-8");

//引入获取上传文件的名称已经生成文件名的函数lib

require ‘upload_file.php‘;

//设置文件要保存的目录

$upload_dir = "files/";

if(!file_exists($upload_dir)){

mkdir($upload_dir);

}

//设置运行上传的文件类型

$type =array(‘jpg‘,‘png‘,‘gif‘,‘jpeg‘);

//in_array — 检查数组中是否存在某个值

if(!in_array(strtolower(getFileName($_FILES[‘file‘][‘name‘])),
$type)){

//implode,将数组联合成一个字符串

$text = implode(‘,‘, $type);

echo "<script>alert(‘文件类型只允许是{$text}‘);window.location=‘index.html‘;</script>";

}else{

//获取文件名称

$filename = explode(‘.‘, $_FILES[‘file‘][‘name‘]);

$filename[0] =rand_str(10);

$name =implode(‘.‘, $filename);

$uploadfile=$upload_dir.$name;

//is_uploaded_file — 判断文件是否是通过 HTTP POST上传的

if(is_uploaded_file($_FILES[‘file‘][‘tmp_name‘])){

//move_uploaded_file— 将上传的文件移动到新位置

if(move_uploaded_file($_FILES[‘file‘][‘tmp_name‘],$uploadfile)){

$file_path =  getcwd().‘\\‘.$uploadfile;           echo "<center> 您的文件上传完毕,上传图片预览:</center>";

echo "<img src=‘$uploadfile‘/><br/>";

echo "<a href=‘javascript:history.go(-1)‘>继续上传</a>";

}else{

echo "上传失败";

}

}

}

?>

felayman——PHP中图片上传到服务器

时间: 2024-10-28 21:40:50

felayman——PHP中图片上传到服务器的相关文章

使用canvas给图片添加水印, canvas转换base64,,canvas,图片,base64等转换成二进制文档流的方法,并将合成的图片上传到服务器,

一,前端合成带水印的图片 一般来说,生成带水印的图片由后端生成,但不乏有时候需要前端来处理.当然,前端处理图片一般不建议,一方面js的处理图片的方法不全,二是有些老版本的浏览器对canvas的支持度不够. 下面我们就说说,利用canvas 生成带水印的图片. 1.我们要实现一下效果 2.创建一个canvas var canvas = document.createElement('canvas'); var time = new Date(); var logoCanvas =time+' '+

php form 图片上传至服务器上

本文章也是写给自己看的,因为写的很简洁,连判断都没有,只是直接实现了能上传的功能. 前台: <form action="upload.php" method="POST" enctype="multipart/form-data"> <input type="file" name="myfile" /> <input type="submit" value=

工作中图片上传遇到的一个问题

同事需要调用我开发的一个图片上传接口,我把接口文档以及调用示例全部给了他,结果他调不成功,向我请教. 一步步调试,最终结果定位到他图片上传到本地时就失败了.打印出$_FILES数组,error提示给出的是7 查看手册,是写入磁盘失败.首先想法是上传临时文件夹失败. 去php.ini中查看临时文件夹,发现没有设置,其实默认就是/tmp目录了,修改一下临时文件夹,设置成/tmp,重启php-fpm,打开phpinfo,看到临时文件夹为/tmp 再上传,还是报同样的错误.为啥写入失败呢?难道满了? 果

微信公众平台新增图文内容中图片上传接口,并过滤外链图片(这是封闭么?)

为了加快图文内容的浏览速度,公众平台新增了图文消息内容中的图片上传接口.开发者可以通过该接口上传所需要的图片来获得图片链接,再把图片链接放到图文内容中. 同时,为了加强平台安全性,从8月15日起, 系统将自动过滤图文内容中的外链图片(8月15日之前的图文内容不会过滤).下述接口受到影响,请开发者尽快修改: 1.群发图文消息时,上传图文的接口,查看接口文档 2.素材管理中的新增永久图文素材接口,查看接口文档

根目录97 &lt;input file&gt;标签,把图片上传到服务器(跟增删改查一起实现)

1 首先来个简单的html页面: enctype="multipart/form-data" encoding="multipart/form-data" action="../../后台/后台方法.do" //form表单加上这几个属性 action指向后台添加方法 2 3 <input type="button" id="uupdatekeyword2" value="修改"

从系统相册中选择GIF图片上传到服务器

-(void)assetPickerController:(ZYQAssetPickerController *)picker didFinishPickingAssets:(NSArray *)assets { for (int i = 0; i < assets.count; i ++) { ALAsset *asset = assets[i]; ALAssetRepresentation *rep = [asset defaultRepresentation]; if ([rep.UTI

android选择图片或拍照图片上传到服务器(包括上传参数)

From:http://blog.csdn.net/springsky_/article/details/8213898具体上传代码: 1.选择图片和上传界面,包括上传完成和异常的回调监听 [java] view plaincopy package com.spring.sky.image.upload; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.app.

python - django 使用ajax将图片上传到服务器并渲染到前端

一.前端代码 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <script> // 创建一个表单对象(用于存储要发送的data数据) form_data = new FormData; // 参数1:后端请求时要获取的参数, 参数

【juincen】Web中图片上传处理 jQuery+Ajax+SpringMVC

今天做项目有个需求,页面上需要上传一个图片,之前解决了一次,没有记下来. 在前台用户先选择一张图片,然后可以预览,再上传,我是这样解决的. 预览: html里面有一个普通的input标签,id:uploadFile <input type="file" id="uploadFile" /> 还有一个可以预览的img标签,这个img现在并没有src属性,id:imgpreview <img width="100" height=&