導航:首頁 > 編程語言 > 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相關的資料

熱點內容
pr怎麼壓縮文件大小 瀏覽:859
查看oracle字元集命令 瀏覽:175
鋰電池增加密度 瀏覽:657
linux用戶密碼忘記 瀏覽:240
gb壓縮天然氣 瀏覽:633
圖片拼接不壓縮app 瀏覽:668
我的世界如何編程 瀏覽:84
vue反編譯代碼有問題 瀏覽:948
linuxshell字元串連接字元串 瀏覽:51
androidviewpager刷新 瀏覽:438
python編程計算平均分 瀏覽:678
加密數字貨幣市值查詢 瀏覽:692
時尚商圈app怎麼樣 瀏覽:584
stacklesspython教程 瀏覽:138
用命令行禁用135埠 瀏覽:212
linux防火牆編程 瀏覽:627
pdf閱讀器刪除 瀏覽:979
考研人如何緩解壓力 瀏覽:822
買電暖壺哪個app便宜 瀏覽:505
洛克王國忘記伺服器了怎麼辦 瀏覽:782