iwebshop前台视频添加

功能实现:

在商品详细描述中添加商品视频


效果实现:



代码实现:

首先修改php以及Apache中有关上传文件大小的配置

默认是30秒.改为
max_execution_time = 0
0表示没有限制
Windows 环境下的修改方法
================================================================
第一步:修改在php5下POST文件大小的限制

1.编修php.ini

找到:max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,

修改为:
max_execution_time = 0

找到:max_input_time = 60,这是每个脚本可以消耗的时间,单位也是秒,修改

为:
max_input_time = 6000

找到:memory_limit = 128M,这个是脚本运行最大消耗的内存,根据你的需求更

改数值,这里修改为:
memory_limit = 512M

找到:post_max_size = 8M,表单提交最大数据为 8M,此项不是限制上传单个文

件的大小,而是针对整个表单的提交数据进行限制的。限制范围包括表单提交的所

有内容.例如:发表贴子时,贴子标题,内容,附件等…这里修改为:
post_max_size = 500M

找到:upload_max_filesize = 2M ,上载文件的最大许可大小 ,修改为:
upload_max_filesize = 500M

第二步: Apache环境中的档案上传大小控制
修改位于Apahce目录下的httpd.conf
添加下面内容
LimitRequestBody 1048576000    
即1000M=1000*1024*1024,有的文章中提到应改为 600000000

重新启动apache,就可以在设置里看到你要的大小

Linux 环境下的修改方法

================================================================
修改etc/php.ini
找到 File Uploadsh区域修改以下几个参数: file_uploads = on ;是否允许通

过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir ;文件上传至服务器上

存储临时文件的地方,如果没指定就会用系统默认的临时文件夹(moodle可以不改

)
upload_max_filesize = 800m ;允许上传文件大小的最大值.
找到 Data Handling区域,修改 post_max_size = 800m ;指通过表单POST给PHP

的所能接收的最大值,包括表单里的所有值。默认为8M
设上述四个参数后,上传小于8M的文件一般不成问题。但如果上传大于8M的文件

,只还得设置以下参数:
在Resource Limits 区域: max_execution_time = 600 ;每个PHP页面运行的最大

时间值(秒),默认30秒 max_input_time = 600 ;每个PHP页面接收数据所需的最

大时间,默认60秒 memory_limit = 800m ;每个PHP页面所吃掉的最大内存,默认

8M



修改成功之后:

1、后台商品添加页面


goods/goods_edit.html页面

form先添加entype:<form action="{url:/goods/goods_update}" name="goodsForm" method="post" enctype="multipart/form-data">

之后:

<tr>
    <th>产品视频:</th>
    <td>
        <div>
            <input type="file" name="video">
        </div>
        <label>可以上传视频,大小不得超过500M</label>
    </td>
</tr>
在goods.php中的goods_update()方法中添加
 //视频上传
// Array ( [video] => Array ( [name] => 1.png [type] => image/png [tmp_name] => C:\Windows\phpCB0F.tmp [error] => 0 [size] => 45853 ) )
 $video=$_FILES['video']?$_FILES['video']:"";
 if(!empty($video)){
     $fileName=time().rand(1000,9999).substr($video['name'],strripos($video['name'],'.'));
     $path="./video/".$fileName;
     move_uploaded_file($video['tmp_name'],$path);
     $_POST['video_path']=$path;
 }
在goods表中添加video_path字段并在根目录下建立video文件夹

下面在前台显示就Ok了
在site/products.html页面中
在产品描述后添加
{if:isset($video_path) && $video_path}
<video id="myVideo" width="720" height="340" controls poster="./video/14763290868422.jpg">
    <source src="{$video_path}" type="video/mp4">
</video>
{/if}
设置js功能 用户不登录不能播放视频
<script>
    var myVideo = document.getElementById('myVideo')//获取video元素
            ,tol = 0 //总时长
            ;
    var userid = "{$this->user['user_id']}";
    myVideo.addEventListener("play", function(){
        if(!userid){
            alert('请先登陆');
            myVideo.pause();
        }
    });
    myVideo.addEventListener("loadedmetadata", function(){
        tol = myVideo.duration;//获取总时长
    });
    //播放
    function play(){
        myVideo.play();
    }
    //暂停
    function pause(){
        myVideo.pause();
    }
    //播放时间点更新时
    myVideo.addEventListener("timeupdate", function(){
        var currentTime = myVideo.currentTime;//获取当前播放时间
        console.log(currentTime);//在调试器中打印
    });
    //设置播放点
    function playBySeconds(num){
        myVideo.currentTime = num;
    }
    //音量改变时
    myVideo.addEventListener("volumechange", function(){
        var volume = myVideo.volume;//获取当前音量
        console.log(volume);//在调试器中打印
    });
    //设置音量
    function setVol(num){
        myVideo.volume = num;
    }
</script>
此时我们就实现了我们的功能!!!


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值