阿里云OSS 通过表单直接上传文件 Post Policy例子

 更新时间:2016年11月25日 15:37  点击:2409
本文章为各位简单介绍阿里云OSS 通过表单直接上传文件 Post Policy例子,这个例子非常的简单只需要简单的像php一样就可以了,具体如下。
 代码如下 复制代码

<?php
$access_id = 'ACCESS_ID';
$access_key = 'OSS_ACCESS_KEY';
$url='http://ioutsider.oss-cn-shenzhen.aliyuncs.com';//更改成你自己的地址
$policy = '{"expiration": "2120-01-01T12:00:00.000Z","conditions":[{"bucket": "ioutsider" },["content-length-range", 0, 104857600]]}';
$policy = base64_encode($policy);
$signature = base64_encode(hash_hmac('sha1', $policy, $access_key, true));//生成认证签名
?>
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <div>文件上传</div>
        <form action="<?php echo $url;?>" method="post" enctype="multipart/form-data">
            <label for="file">选择文件:</label>
            <input type="hidden" name="OSSAccessKeyId" id="OSSAccessKeyId"  value="<?php echo $access_id; ?>" />
            <input type="hidden" name="policy" id="policy"  value='<?php echo $policy; ?>' />
            <input type="hidden" name="signature" id="signature"  value="<?php echo $signature; ?>" />
            <input type="hidden" name="key" id="key"  value="${filename}" />
            <input type="file" name="file" id="file" />
            <br />
            <input type="submit" name="submit" value="确定" />
        </form>
    </body>
</html>
下面小编整理的这个PHP curl封装类可以实现的功能有含读取/写入/读写cookie,构造post参数,伪造来源IP,设置代理功能,下面来看看

PHP的curl能够实现许多非常强大的http操作,不过curl原生的写法有些蛋疼,于是自己封装了一个类。

本段代码部分代码来源网络,我自己添加了注释和一些小修改,目前实现的功能有:

构造post参数
读取/写入/读写cookie
伪造来源IP
设置代理

代码会不定时更新。

 代码如下 复制代码

<?php
/**
*File:curl.class.php
*Createdon:2014-8-26,8:34:01
*copyright小皓(C)2013-2099版权所有
*www.haosblog.com
*
*CURL封装类,本类大部分操作均支持链式操作
*
*example:
*
*$curl=newCurl($url);
*$curl->exec();
*//发送post数据
*$curl->post(array('username'=>'用户名'))->exec();
*/


classCurl{
 private$ch;
 private$flag_if_have_run=false;
 private$has_cloase=true;

 publicfunction__construct($url='',$forgeIP=false){
 $this->init($url,$forgeIP);
 }
 
 /**
 *初始化CURL。如果CURL未被关闭,则先关闭
 *
 *@paramtype$url
 *@return\Common\Library\Curl
 */
 publicfunctioninit($url='',$forgeIP=false){
 if(!$this->has_cloase){//如果上一次连接尚未结束,则先关闭
 $this->close();
 }
 
 if($forgeIP){//伪造IP,将IP伪造为访问者的IP
 if(Validate::isIPAddress($forgeIP)){
 $ip=$forgeIP;
 }else{
 $ip=$_SERVER['SERVER_ADDR'];
 }
 $this->set_ip($ip);
 }

 $this->ch=curl_init($url);
 curl_setopt($this->ch,CURLOPT_RETURNTRANSFER,1);
 $this->has_cloase=false;
 
 return$this;
 }
 
 
 publicfunctionsetUrl($url){
 curl_setopt($this->ch,CURLOPT_URL,$url);
 
 return$this;
 }

 publicfunctionclose(){
 if(!$this->has_close){
 curl_close($this->ch);
 $this->has_cloase=true;
 }
 }

 publicfunction__destruct(){
 $this->close();
 }

 /**
 *设置页面超时时间,支持链式操作
 *
 *@paramtype$timeout
 *@return\Common\Library\Curl
 */
 publicfunctionset_time_out($timeout){
 curl_setopt($this->ch,CURLOPT_TIMEOUT,intval($timeout));
 return$this;
 }

 /**
 *伪造来源路径
 *
 *@paramtype$referer
 *@return\Common\Library\Curl
 */
 publicfunctionset_referer($referer){
 if(!empty($referer)){
 curl_setopt($this->ch,CURLOPT_REFERER,$referer);
 }
 return$this;
 }

 /**
 *设置cookie
 *本方法仅发送cookie信息到远端,不保存远端返回的cookie信息
 *
 *@paramtype$cookie_file cookie文件的存储路径
 *@return\Common\Library\Curl
 */
 publicfunctionload_cookie($cookie_file){
 $this->_checkCookie($cookie_file);
 curl_setopt($this->ch,CURLOPT_COOKIEFILE,$cookie_file);
 return$this;
 }

 /**
 *设置cookie
 *发送cookie到远端,并保存远端返回的cookie
 *
 *@paramtype$cookie_file
 *@return\Common\Library\Curl
 */
 publicfunctioncookie($cookie_file){
 $this->_checkCookie($cookie_file);
 curl_setopt($this->ch,CURLOPT_COOKIEFILE,$cookie_file);
 curl_setopt($this->ch,CURLOPT_COOKIEJAR,$cookie_file);
 return$this;
 }

 /**
 *设置cookie
 *本方法将不发送cookie信息,仅接收返回的cookie并保存
 *
 *@paramtype$cookie_file
 *@return\Common\Library\Curl
 */
 publicfunctionsave_cookie($cookie_file=""){
 //设置缓存文件,例如a.txt
 if(empty($cookie_file)){
 $cookie_file=tempnam('./','cookie');
 }
 $this->_checkCookie($cookie_file);
 curl_setopt($this->ch,CURLOPT_COOKIEJAR,$cookie_file);
 return$this;
 }
 
 privatefunction_checkCookie($cookie_file){
 if(!\Think\Storage::has($cookie_file)){
 \Think\Storage::put($cookie_file,'');
 }
 }

 /**
 *执行curl请求
 *
 *@returntype
 */
 publicfunctionexec(){
 $str=curl_exec($this->ch);
 $this->flag_if_have_run=true;
 return$str;
 }

 /**
 *设置发送POST请求。没有调用过该方法默认使用GET方法提交
 *
 *@paramtype$postData post的数据,支持数组和“xxx=1&x=2”两种格式
 *@return\Common\Library\Curl
 */
 publicfunctionpost($postData){
 curl_setopt($this->ch,CURLOPT_POST,1);
//echo($postQuery);die;
 curl_setopt($this->ch,CURLOPT_POSTFIELDS,$postData);
 return$this;
 }

 /**
 *获取curl的信息
 *
 *@returntype
 *@throwsException
 */
 publicfunctionget_info(){
 if($this->flag_if_have_run==true){
 returncurl_getinfo($this->ch);
 }else{
 thrownewException("<h1>需先运行(执行exec),再获取信息</h1>");
 }
 }

 /**
 *设置代理
 *
 *@paramtype$proxy
 *@return\Common\Library\Curl
 */
 publicfunctionset_proxy($proxy){
 //设置代理,例如'68.119.83.81:27977'
 curl_setopt($this->ch,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);
 curl_setopt($this->ch,CURLOPT_PROXY,$proxy);
 return$this;
 }

 /**
 *设置请求的IP
 *
 *@paramtype$ip
 *@returntype
 */
 publicfunctionset_ip($ip=''){
 if(!empty($ip)){
 curl_setopt($this->ch,CURLOPT_HTTPHEADER,array("X-FORWARDED-FOR:$ip","CLIENT-IP:$ip"));
 }
 return$ip;
 }

}

友情提示:关于这人php curl类其实就是把函数功能整理在一起了,然后写成一个class没有其它什么技巧了。

阿里云OSS上传工具是阿里云专用的上传功能了,下面我就为各位介绍一个阿里云OSS利用iframe实现图片异步上传了,这个例子非常的简单。

阿里云 OSS 图片上传iframe 实现异步上传 相关代码:

index.php:

 代码如下 复制代码

<?php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
if (isset($_POST) && !empty($_POST)) {
    echo "<pre>";
    var_dump($_POST);
    die;
}
?>

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://filela.b0.upaiyun.com/js/jquery-1.9.0.min.js"></script>
    </head>
    <body>
        <h1>添加操作</h1>
        <form action="" method="post" >
            <iframe src="upload.php"  frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe><br/>
            名称: <input type="text" value="" name="name">
            <div id="res"> </div>
 
            <input type="submit" value="submit" />
        </form>
 
    </body>
</html>

upload.php

 代码如下 复制代码
<?php
$access_id = '';
$access_key = '';
$policy = '{"expiration": "2120-01-01T12:00:00.000Z","conditions":[{"bucket": "ioutsider" },["content-length-range", 0, 104857600]]}';
$policy = base64_encode($policy);
$signature = base64_encode(hash_hmac('sha1', $policy, $access_key, true));
$file_name = date('Y') . '/' . date('m') . '/' . md5(microtime(true)) . '.jpg';
//print_r(get_headers('http://ioutsider.oss-cn-shenzhen.aliyuncs.com'));
?>
 
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://filela.b0.upaiyun.com/js/jquery-1.9.0.min.js"></script>
    </head>
    <body>
        <form id="upload" action="http://ioutsider.oss-cn-shenzhen.aliyuncs.com" method="POST" enctype="multipart/form-data">
 
            <label for="file">选择文件:</label>
            <input type="hidden" name="OSSAccessKeyId" id="OSSAccessKeyId"  value="<?php echo $access_id; ?>" />
            <input type="hidden" name="policy" id="policy"  value='<?php echo $policy; ?>' />
            <input type="hidden" name="Signature" id="Signature"  value="<?php echo $signature; ?>" />
            <!--<input type="hidden" name="key" id="key"  value="upload/${filename}" />-->
            <input type="hidden" name="key" id="key"  value="<?php echo $file_name; ?>" />
            <input type="hidden" name="success_action_redirect" value="http://iphotos.me/res.php?img=<?php echo $file_name; ?>" />
            <input type="file" name="file" id="file" />
            <input type="submit" name="upload" value="上传" />
        </form>
    </body>
</html>

上传成功后跳转的页面:

 代码如下 复制代码

<!DOCTYPE html>
<html>
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://filela.b0.upaiyun.com/js/jquery-1.9.0.min.js"></script>
    </head>
    <body>
        <?php $img = $_GET['img']; ?>
        <?php if ($img): ?>
            <img src='http://ioutsider.oss-cn-shenzhen.aliyuncs.com/<?php echo $img; ?>' width='200' height='200' />
            <script>
                $(function(){
                    alert('上传成功');
                    window.parent.$('#res').append("<input type='hidden' value='<?php echo $img ?>' name='path'>")
                })
            </script>
        <?php endif; ?>
    </body>
</html>

Session和Cookie的使用在php中非常常见的了,我们通常用于登录双验证了,下文小编为各位介绍利用Session和Cookie来做一些像用户登录验证、记录用户浏览历史,存储购物车数据,限制用户会话有效时间例子。

我们跟踪用户信息时需要用到Session和Cookie,比如用户登录验证、记录用户浏览历史,存储购物车数据,限制用户会话有效时间等。今天我们来了解下PHP是如何操作Session和Cookie的。

Session

PHP的$_SESSION可以存储当前用户数据信息,用户访问WEB网站的时候,PHP会给每个访问的用户创建一个session ID,该ID是唯一ID,保存在客户机上,而用户的会话数据是保存到服务端的,PHP可以对每个不同的用户信息进行存储,当会话过期后,用户session信息也会失效。
使用Session,在使用PHP session时,一定要在页头加上session_start(),告诉服务器开始使用session了,而且在它之前应该没有任何输出,否则会报错。
 
<?php
session_start(); 
 
//PHP 代码...
?>

PHP设置与获取Session

我们可以使用PHP的$_SESSION来设置和获取Session数据,如:
 
<?php
session_start();  
 
//设置一个session值
$_SESSION["name"] = "Hello"; 
 
//将session以数组形式保存
$_SESSION["arr"] = array('name' => 'Hello', 'url' => 'http://www.helloweba.com', 'type'=> 'website');
?>

一旦储存了Session数据,我们就可以在网站上使用Session,比如我们在另一个页面就可以获取Session数据:
 
<?php
session_start();  
 
//获取保存的Session name 
echo $_SESSION["name"];
 
//打印数组session
print_r($_SESSION["arr"]);
?>

PHP删除Session

当不再使用Session时,我们可以使用PHP将session数据删除和清空,方法如下:
 
<?php
unset($_SESSION["name"]);
?>

如果要清空当前用户所有的Session信息可以使用以下代码:
 
<?php
session_destroy();
?>


Cookie

Cookie是由用户访问的网站服务端给当前客户机上创建的一个临时文件,用来保存用户信息,以便用户下次继续访问该网站时,网站服务器能识别用户信息,常见的Cookie用来保存用户界面,用户ID等数据。

PHP设置Cookie

我们可以使用PHP的setcookie()在客户端创建cookie,这个函数提供主要的三个参数,cookie名称,值和有效时长。
 
<?php
$cookie_val = 'Chrome'; 
setcookie("browser", $cookie_val, time()+3600); 
?>
运行以上代码,将会创建一个名称为Chrome的Cookie,并且在客户端保存1个小时,1小时后该cookie信息失效。

PHP接收Cookie

当Cookie创建后,我们很容易就可以获取到cookie值,使用PHP的$_COOKIE,用法如下:
 
<?php
if(isset($_COOKIE['browser'])) {
    echo '您的浏览器是:' . $_COOKIE['browser'];
}
?>


PHP删除Cookie

如果你想彻底在你的机器上删除保存的cookie信息,可以使用以下代码:
 
<?php
setcookie("browser", "", time()-3600);
?>

以上代码将名称为browser的cookie清空,并将有效期设置到1小时前,完全清空了cookie信息。
此外前端Javascript也有操作cookie的例子,本站有文章介绍。
本文从初学者角度考虑,讲解了PHP入门级的知识:Session和Cookie的应用,我们不必去深究其原理,只要会用就行。2015快要来了,接下来Helloweba打算将几个前端与后端PHP的交互项目分享给大家,当然会用到Session和Cookie了,像WEB聊天室、在线视频、HTML5在线直播等等,敬请期待。

下面一聚教程小编为各位带来关于php调试利器之phpdbg安装配置详解了,PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境,下面来看看。

PHPDBG的目标是成为一个轻量级、强大、易用的PHP调试平台。可以在PHP5.4和之上版本中使用。在php5.6和之上版本将内部集成。

主要功能:

– 单步调试
– 灵活的下断点方式(类方法、函数、文件:行、内存地址、opcode)
– 可直接调用php的eval
– 可以查看当前执行的代码
– 用户空间API(userland/user space)
– 方便集成
– 支持指定php配置文件
– JIT全局变量
– readline支持(可选),终端操作更方便
– 远程debug,使用java GUI
– 操作简便(具体看help)

安装

为了使用phpdgb,你首先需要下载一个php的源码包。然后下载phpdgb的源码包,并放在php源码包的sapi目录下。最后,你就可以执行命令安装了。编译安装示例如下:
假设我们已经下载php的源码包,并放在了/home/php目录下。
 

 代码如下 复制代码
#cd /home/php/sapi
#git clone https://github.com/krakjoe/phpdbg
#cd ../
#./buildconf --force
#./config.nice
#make -j8
#make install-phpdbg

注意:
1、如果你的php版本是php5.6或者更高的版本,phpdbg已经集成在php的代码包中,无需单独下载了。
2、编译参数中记得要加 –enable-phpdbg。
3、编译时参数,–with-readline 可以选择性添加。如果不添加,phpdbg的history等功能无法使用。

基本使用

参数介绍

phpdbg是php的一个sapi,它可以以命令行的方式调试php。常用参数如下:
The following switches are implemented (just like cli SAPI):
-n ignore php ini
-c search for php ini in path
-z load zend extension
-d define php ini entry
The following switches change the default behaviour of phpdbg:
-v disables quietness
-s enabled stepping
-e sets execution context
-b boring – disables use of colour on the console
-I ignore .phpdbginit (default init file)
-i override .phpgdbinit location (implies -I)
-O set oplog output file
-q do not print banner on startup
-r jump straight to run
-E enable step through eval()
Note: passing -rr will cause phpdbg to quit after execution, rather than returning to the console

常用功能

之前我们介绍过gdb工具。其实phpdbg和gdb功能有些地方非常相似。如,可以设置断点,可以单步执行,等。只是他们调试的语言不一样,gdb侧重于调试c或者c++语言,而phpdbg侧重于调试php语言。下面我们将对phpdbg的一些常用调试功能做下介绍。
要调试的代码如下:
文件test_phpdbg_inc.php源代码如下:
 

 代码如下 复制代码
<!--?php function phpdbg_inc_func(){     echo "phpdbg_inc_func n";

 } ?-->
文件test_phpdgb.php的源代码如下:
 

 代码如下 复制代码
<!--?php include(dirname(__FILE__)."/test_phpdbg_inc.php"); class demo{     public function __construct(){         echo __METHOD__.":".__LINE__."n";     }        public function func($param){         $param++;         echo "method func $paramn";     }        public function __destruct(){         echo __METHOD__.":".__LINE__."n";     }    } function func(){     $param = "ali";     $param = $param + "baba";     echo "function func $paramn";; } $demo = new demo(); $demo--->func(1);
func();
phpdbg_inc_func();
?>

启动phpdbg

phpdbg安装成功后,会在安装目录的bin目录下。进入bin目录,直接输入phpdbg即可。如下:
 

 代码如下 复制代码
#phpdeg
[Welcome to phpdbg, the interactive PHP debugger, v0.4.0]
To get help using phpdbg type "help" and press enter
[Please report bugs to <http://github.com/krakjoe/phpdbg/issues>]
prompt>

要想加载要调试的php脚本,只需要执行exec命令即可。如下:
 

 代码如下 复制代码
#phpdbg
......
prompt> exec ./test_phpdbg.php

当然我们也可以在启动phpdbg的时候,指定e参数。如下:

 代码如下 复制代码
#phpdbg -e ./test_phpdbg.php

查看帮助信息

如果你之前使用过其他的调试工具,你会发现phpdbg和他们比较相似。但是,你使用初期,还是会经常需要获取帮助信息。通过help命令我们可以获取帮助信息。
 

 代码如下 复制代码
......
prompt> help
 
phpdbg is a lightweight, powerful and easy to use debugging platform for PHP5.4+
It supports the following commands:
 
Information
  list     list PHP source
......

设置断点
设置断点的命令和gdb一样。都是break,简写形式为b。不过具体的命令参数还是有所差异的。和gdb的断点命令相同之处,它们都可以“按文件名:行号” 或者 行号的方式设置断点。除此之外,phpdbg还提供了一些针对php特有的设置断点的方式。如,根据opline设置断点,根据opcode设置断点等。
众所周知,php代码最终是解析成opcode,然后由php内核一条条执行。一条php语句,可能会解析成多条opcode。如果可以按opcode设置断点,我们就可以更精确的跟踪程序执行过程。下面我们来看看phapdbg设置断点的具体示例。
按opline设置断点:
这里所说的opline,就是以方法入口作为起点,当前代码的行号。如test_phpdgb.php文件中,第18行的代码“$param = $param + “baba”;”的opline就是 2。
 

 代码如下 复制代码
......
prompt> b func#2
prompt> r
demo::__construct:5
method func 2
[Breakpoint #0 resolved at func#2 (opline 0x7f5b230a2e38)]
[Breakpoint #0 resolved at func#2 (opline 0x7f5b230a2e38)]
[Breakpoint #0 resolved at func#2 (opline 0x7f5b230a2e38)]
[Breakpoint #0 in func()#2 at ./test_phpdbg.php:18, hits: 1]
>00018:     $param = $param + "baba";
 00019:     echo "function func $paramn";;
 00020: }

......
查看断点
和gdb一样,phpdbg也是使用info break命令查看断点。示例如下:
 
....

 代码如下 复制代码
prompt> info break
------------------------------------------------
File Breakpoints:
#1      /home/hailong.xhl/test_phpdbg.php:10
------------------------------------------------
Opline Breakpoints:
#0      7ff3219e1df0        (function breakpoint)
------------------------------------------------
Function opline Breakpoints:
#0      func opline 2

....
通过上面的显示,我们可以知道。info break的显示结果中会把断点的类型也给显示出来。#后面的数字是断点号。我们可以根据断点号删除断点。

删除断点

和gdb命令不一样。phpdbg的删除断点不是delete命令,而是break del 命令。示例如下:
 

 代码如下 复制代码
......
prompt> break del 1
[Deleted breakpoint #1]
prompt>

......
break del 后面的数字1就是断点号。
查看代码
phpdbg查看代码的命令也是list。但是和gdb相比,使用的方式更多样一些。
显示指定函数的代码:
 

 代码如下 复制代码

......
prompt> l f func
 00017:     $param = "ali";
 00018:     $param = $param + "baba";
 00019:     echo "function func $paramn";;
 00020: }
 00021:
prompt>

......
单步执行
phpdbg的单步执行只有一个命令 step。和gdb的step命令差不多。都是一行一行的执行代码。注意,phpdbg是没有next命令的。
 
....

 代码如下 复制代码
prompt> s
[Breakpoint #0 resolved at func#2 (opline 0x152ba40)]
[L19           0x152ba70 ZEND_ADD_STRING          C2      @0    ./test_phpdbg.php]
>00019:     echo "function func $paramn";;
 00020: }
 00021:

....
继续执行
和gdb一样,phpdbg的继续执行命令也是continue,简写形式为c。
执行php代码
这个是phpdbg的一个特色。可以在调试的过程中使用ev命令执行任意的php代码。如:
 

 代码如下 复制代码
......
prompt> ev $var = "val";
val
prompt> ev var_dump($var);
string(3) "val"

......
可以通过这种方式,在调试过程中动态的修改变量值,查看执行效果。

[!--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
  • 解决python 使用openpyxl读写大文件的坑

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

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

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

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

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

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • AI源文件转photoshop图像变模糊问题解决教程

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

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • 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
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • PHP判断上传文件类型的解决办法

    分享给大家php判断上传文件类型的方法,大家一起学习学习。/** * 读取文件前几个字节 判断文件类型 * @return String */ function checkTitle($filename){ $file=fopen($filename, "rb"); $bin=fread($file, 2); /...2015-10-21