0
A
回答
0
我可能會建議使用兩個系統調用:
1)解壓縮到TMP文件夾中 2)從該文件夾讀取文件
(更新完整的工作腳本):
<?php
if (isset($_POST["fsubmit"])){
echo "<pre>";
var_dump($_POST);
var_dump($_FILES);
$tmp_dir = "tmp/" . microtime(true);
if (!file_exists($tmp_dir)){
mkdir($tmp_dir);
}
if (is_uploaded_file($_FILES["file"]["tmp_name"])){
move_uploaded_file($_FILES["file"]["tmp_name"], $tmp_dir . "/a.zip");
exec("unzip -z -j $tmp_dir $tmp_dir" . "/a.zip");
exec("ls $tmp_dir", $out);
echo "Files in the archive:\n";
foreach ($out as $file){
$file = trim($file);
echo "File: $file,", filesize($tmp_dir . "/" . $file)."b\n";
}
exec("rm -rf $tmp_dir");
}
} else {
?>
<form action="test.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" name="fsubmit" value="upload">
</form>
<?
}
先決條件
0)將工作,如果你在UNIX/Linux/MAC下(不會在Windows下工作)
1)創建test.php並粘貼它的代碼ab ove
2)確保在test.php文件夾所在的文件夾中tmp
3)確保apache用戶可以寫入該文件夾(例如, CHMOD 777 TMP)
4)確保你的PHP允許文件上傳
5)請確保您的服務器 「解壓縮」 命令行工具
問候。
相關問題
- 1. Python:將zip文件解壓縮並解壓縮.zip
- 2. Android:將ZIP解壓縮到內存中並在WebView中顯示其內容
- 3. 解壓縮zip
- 4. 將記錄插入到SQL壓縮數據庫中
- 5. 上傳.txt文件並將內容插入到數據庫中
- 6. SQLiteException將壓縮數據庫複製/解壓縮到Android
- 7. 將.zip文件上傳到FTP並使用PHP將其解壓縮使用PHP
- 8. PHP壓縮文件到zip
- 9. Android:壓縮並插入圖像到SQLite數據庫
- 10. 如何將XML解析的內容插入到sqlite3數據庫
- 11. 如何使用PHP將XML內容插入到mysql數據庫
- 12. 無法解壓縮和Firefox zip插件
- 13. 以PHP解壓縮數據
- 14. Apache Hadoop:將壓縮數據插入HDFS
- 15. Firefox擴展:下載並解壓縮ZIP
- 16. aspnet mvc zip解壓縮支持dotnet庫
- 17. 如何使用Python解壓縮zip文件內容(使用壓縮格式)
- 18. 保存一個zip文件到內存中,並從流中解壓縮文件並獲取內容
- 19. 在Python中將數據寫入zip壓縮文件
- 20. 確定何時解壓縮數據庫zip
- 21. 如何將數據庫中的varbinary文件解壓縮爲ZIP文件?
- 22. 騾解壓縮處理zip文件內容
- 23. BlackBerry - 解壓縮Zip文件
- 24. 解壓縮Zip文件
- 25. 解壓縮.zip文件
- 26. 解壓縮.zip文件
- 27. 原生swift zip解壓縮
- 28. 解壓縮Zip文件3.6
- 29. Java將每個文件解壓縮到數據庫中
- 30. 將加載的jar解壓縮到oracle數據庫中
是的好吧,所以我明白了,但是現在發生的所有事情是$ tmp_dir被創建。 該文件看起來像這樣: http://pastebin.com/19CGCaXg – RasmusG
其中是zip文件來自哪裏?在我的例子中,它假定它是通過表單上傳的,例如, – jancha
另外,請確保您的服務器上存在「unzip」。 – jancha