导航:首页 > 编程语言 > phpaddfile

phpaddfile

发布时间:2023-05-18 18:39:55

php 压缩文件夹

php将文件夹打包成zip文件,参考代码如下:

functionaddFileToZip($path,$zip){
$handler=opendir($path);//打开当前文件夹由$path指定。
while(($filename=readdir($handler))!==false){
if($filename!="."&&$filename!=".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
if(is_dir($path."/".$filename)){//如果读取的某个对象是文件夹,则递归
addFileToZip($path."/".$filename,$zip);
}else{//将文件加入zip对象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}

$zip=newZipArchive();
if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){
addFileToZip('images/',$zip);//调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close();//关闭处理的zip文件
}

㈡ 怎样用php压缩解压rar,zip文件

要用PHP压缩解压文件,常用的方法是调用命令行去执行解压缩操作
可以用exec() 、system()等函数调用shell命令
linux下解压缩命令是tar [-cxtzjvfpPN] 文件与目录,tar命令可以压缩解压.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip这些类型的文件
Linux下默认无法使用rar格式的,要另外安装RAR for Linux,然后使用rar和unrar命令解压缩rar格式的压缩文件

㈢ 请问php如何修改要下载的文件夹的路径啊啊教程是下载当前目录下的文件夹,我想指定到E:/model/B1

在php.ini文件中修改session.save_path = "E:/model/B1"

㈣ php addfile()是什么意思

应该是zip打包的命令
$zip->addfile($file)
代码打包文件

㈤ 怎么判断ziparchive php扩展是否打开

1.文件下载
header("Content-type: text/html; charset=utf-8"); //设置头信息
if (!file_exists($file_dir.$name)){ //判断是否存在某个文件
echo "File not found!"; //如果不存在就提示用户文件未找到
} else {
$file = fopen($file_dir.$name,"r"); //否则就读取文件
Header("Content-type: application/octet-stream"); //设置浏览器下载需要的头,告诉客户端的浏览器服务端返回的文件形式 是一个下载文件
Header("Accept-Ranges: bytes"); //告诉客户端浏览器返回的文件大小是按照字节进行计算的
Header("Accept-Length: ".filesize($file_dir . $name)); //告诉浏览器返回的文件大小
Header("Content-Disposition: attachment; filename=".$name); //:告诉浏览器返回的文件的名称
echo fread($file, filesize($file_dir.$name)); //按字节读取文件
fclose($file);//关闭文件资源
}
2.文件压缩:
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,
addEmptyDir() 添加一个新的文件目录
addFile() 将文件添加到指定zip压缩包中。
ddFromString()添加的文件同时将内容添加进去
open() 打开一个zip压缩包
close()关闭ziparchive
extractTo()将压缩包解压
getStatusString()返回压缩时的状态内容,包括错误信息,压缩信息等等
deleteIndex()删除压缩包中的某一个文件,如:deleteIndex(0)删除第一个文件
deleteName()删除压缩包中的某一个文件名称,同时也将文件删除。
注意点:使用open方法的时候,第二个参数$flags是可选的,$flags用来指定对打开的zip文件的处理方式,共有四种情况
1. ZIPARCHIVE::OVERWRITE 总是创建一个新的文件,如果指定的zip文件存在,则会覆盖掉
2.ZIPARCHIVE::CREATE 如果指定的zip文件不存在,则新建一个
3. ZIPARCHIVE::EXCL 如果指定的zip文件存在,则会报错
4. ZIPARCHIVE::CHECKCONS
一、解压缩zip文件
$zip=new ZipArchive;//新建一个ZipArchive的对象
if($zip->open('test.zip')===TRUE){
$zip->extractTo('images');//假设解压缩到在当前路径下images文件夹内
$zip->close();//关闭处理的zip文件
}
二、将文件压缩成zip文件
$zip=new ZipArchive;
if($zip->open('test.zip',ZipArchive::OVERWRITE)===TRUE){
$zip->addFile('image.txt');//假设加入的文件名是image.txt,在当前路径下
$zip->close();
}
三、文件追加内容添加到zip文件
$zip=new ZipArchive;
$res=$zip->open('test.zip',ZipArchive::CREATE);
if($res===TRUE){
$zip->addFromString('test.txt','file content goes here');
$zip->close();
echo 'ok';
}else{
echo 'failed';
}
四、将文件夹打包成zip文件
function addFileToZip($path,$zip){
$handler=opendir($path); //打开当前文件夹由$path指定。
while(($filename=readdir($handler))!==false){
if($filename != "." && $filename != ".."){//文件夹文件名字为'.'和‘..’,不要对他们进行操作
if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归
addFileToZip($path."/".$filename, $zip);
}else{ //将文件加入zip对象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}
$zip=new ZipArchive();
if($zip->open('images.zip', ZipArchive::OVERWRITE)=== TRUE){
addFileToZip('images/', $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close(); //关闭处理的zip文件
}
3.php处理flash扩展:
ming库:
<?php
$f = new SWFFont( '_sans' ); //创建指向一个内置字体(_sans)的指针
$t = new SWFTextField(); //创建文本字段
$t->setFont( $f ); //设定字体
$t->setColor( 0, 0, 0 );//颜色
$t->setHeight( 400 ); //大小,
$t->addString( 'Hello World' ); //提供一些文本内容(“Hello World”)
$m = new SWFMovie(); //创建了一个 SWFMovie 对象并设定其尺寸
$m->setDimension( 2500, 800 );
$m->add( $t ); //向动画中添加了文本元素并将动画保存到文件中。
$m->save( 'hello.swf' ); //在本地保存为 hello.swf
?>
打开浏览器输入 hello.swf 就可以看到了哦。
header( 'Content-type: application/x-shockwave-flash' );
$m = new SWFMovie();
$m->setDimension( 300, 300 );
$s = new SWFShape();
$s->setLine( 5, 0, 0, 0 );
$s->movePenTo( -100, -100 );
$s->drawLineTo( 100, 100 );
$ts = $m->add( $s );
$ts->moveTo( 150, 150 );
for( $i = 0; $i < 100; $i++ ) {
$ts->rotate( 10 );
$m->nextframe();
}
$m->save( 'rotate.swf' );
从 -100, -100 到 100, 100 画了一条直线。这将把直线的中心放在坐标 0,0 处。这样,当我在旋转图形时,直线的中心将发生旋转。
当我向动画中添加图形时,将移动返回到框架中心的 SWFDisplayItem。然后用 rotate() 方法使它旋转并每旋转一周就增大其框架。
<?php
$img = new SWFBitmap(file_get_contents( 'megan.jpg' ));
$s = new SWFShape();
$imgf = $s->addFill( $img );
$s->setRightFill( $imgf );
$s->movePenTo( 0, 0 );
$s->drawLineTo( $img->getWidth(), 0 );
$s->drawLineTo( $img->getWidth(), $img->getHeight() );
$s->drawLineTo( 0, $img->getHeight() );
$s->drawLineTo( 0, 0 );
$m = new SWFMovie();
$m->setDimension( $img->getWidth() * 2, $img->getHeight() * 2 );
$is = $m->add( $s );
$is->moveTo( $img->getWidth() / 2, $img->getHeight() / 2 );
for( $i = 0; $i < 10; $i++ )
{
$is->skewx( 0.02 );
$is->skewy( -0.03 );
$m->nextframe();
}
$m->save( 'image.swf' );

㈥ php 如何创建txt文件

有凯悔两种方法:

  1. file_put_contents("/tmp/a.txt","盯此正");

  2. system("cd /tmp; touch 1.txt"扒渣); 这种只时候在服务器执行,本地不可以

㈦ 如何在PHP中创建压缩的RAR文件

$filename = "./" . date ( 'YmdH' ) . ".zip"; // 最终生成的文件名(含路径)
// 生成文件
$zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
exit ( '无法打开文件,或者文件创建失败' );
}

//$fileNameArr 就是一个存储文件路径的数组 比如 array('/a/1.jpg,/a/2.jpg....');

foreach ( $fileNameArr as $val ) {
$zip->addFile ( $val, basename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下
}
$zip->close (); // 关闭

㈧ php ZipArchive 能否在指定目录生成压缩包

当然可以啊,亲


下面代码就是在/tmp目录下生成aaaa.zip文件

$zip=newZipArchive();
$zip->open('/tmp/aaaa.zip',ZipArchive::CREATE);
$zip->addEmptyDir('dir1');
$zip->close();

㈨ [PHP]请教:关于上传附件的判断

首先,不管是不是必填字段,都是需要加判断的,防止因为访问空字段而返回PHP的错,暴露了PHP文件的绝对路径

其次,回答你的问题,你这个问题很简单,客户端提交过来的文件是存在于$_FILES数组的

你只要检查该数组下是否有对应文件域 name 属性的数组就可以知道有没有提交了

举个例子,现有:<input name="1"码禅 type"file" />,那么迟庆尘一个文件域

提交到服务器之后,$_FILES 数组下就会有一个 名为 1 的键值,其类型为数组,结构如下

[1] => Array
(
[name] => 文件名
[type] => 文件类型(MIME格式)
[tmp_name] => 临时文件位差早置
[error] => 错误号(没有错误:0)
[size] => 大小~
)
用 isset($_FILES['1']) 就能判断是否上传了文件~

if(isset($r[filetype])){
你的发的代码~~
这样就OK~
}

㈩ zip密码 php

用PHP的zip模块进行压缩加密.

开始

$zipArc=newipArchive();if($zipArc->open('/home/test.zip',ZipArchive::CREATE|ZipArchive::OVERWRITE)===true){//设置密码注意此处不是加密,仅仅是设置密码
if(!$zipArc->setPassword('password')){thrownewRuntimeException('Setpasswordfailed');
}//往压缩包内添加文件
$zipArc->addFile('/home/test.png','1/test.png');//加密文件此处文件名及路径是压缩包内的
if(!$zipArc->setEncryptionName('1/test.png',ZipArchive::EM_AES_256)){thrownewRuntimeException('Setencryptionfailed');
}

}

$zipArc->close();

注意事项

1 PHP7.2以下不支持加密

php7.2 以下是不支持加密的,我们看一下php官方文档中的解释

从PHP 7.2.0和libzip 1.2.0开始,密码用于解压缩归档,也是ZipArchive :: setEncryptionName() 和ZipArchive :: setEncryptionIndex()的默认密码。

以前,此功能仅设置用于解压缩存档的密码; 它没有将非密码保护的ZipArchive 变成受密码保护的ZipArchive。

也就是说php7.2之前,setPassword('password')这个方法仅仅是设置setEncryptionName()和setEncryptionIndex()的默认密码,却没有进行加密操作!!!,就问你坑不坑!!

2 方法找不到

提示没有setEncryptionName和setEncryptionIndex方法时,请编译时zip模块时用以下参数

--with-libzip
--enable-zip

3 目录结构问题

待压缩的文件目录,比说说是/home/test/a.png
压缩后,你发现压缩包内的目录结构是/home/test/a.png,
也就是说压缩包原封不动的保持了原来文件的目录.可是我们想自定义压缩包目录怎么办呢?

$a = '/home/test.png';
$b = '1/test.png';//$a是待添加的文件路径 $b是压缩包内的路径$zipArc->addFile($a, $b);

阅读全文

与phpaddfile相关的资料

热点内容
把文件夹设锁 浏览:570
命令行语句 浏览:218
企友3e财务如何连接服务器 浏览:984
华为手机如何删除卸载app残留数据 浏览:543
rpm的命令作用 浏览:365
如何查看网站的服务器时间 浏览:850
编译局和人民出版社 浏览:652
java泛型extends 浏览:326
头条程序员教学 浏览:772
安卓合并什么意思 浏览:530
linux在光盘引导 浏览:537
imap服务器地址怎么查 浏览:654
作曲教程pdf 浏览:506
pr怎么压缩文件大小 浏览:863
查看oracle字符集命令 浏览:179
锂电池增加密度 浏览:661
linux用户密码忘记 浏览:242
gb压缩天然气 浏览:635
图片拼接不压缩app 浏览:670
我的世界如何编程 浏览:86