【问题标题】:Connect to FTP and extract ZIP with PHP? [duplicate]连接到 FTP 并使用 PHP 提取 ZIP? [复制]
【发布时间】:2020-07-19 10:19:32
【问题描述】:

我有一个项目想法,但我不太了解。我想用 PHP 在 FTP 上提取我的 Zip 文件。我尝试了一些功能,但没有成功。你能帮帮我吗?

我现在拥有的代码;

if ($_POST){
    //ftp serverımızı, kullanıcı adı ve şifremizi yazıyoruz. 

    $ftpserver = $_POST['ftp_host'];
    $ftpuser  = $_POST['ftp_kadi'];
    $ftppass  = $_POST['ftp_sifresi'];
     
    //POST metodu ile dosyamızı çekiyoruz.  
    $kaynakdosya = "./minecraft.zip";
    $hedefdosya = "./minecraft.zip";  
     
    //ftp_connect ile ftp serverımıza bağlanıyoruz    
    $baglanti = ftp_connect($ftpserver);  
     
    //kullanııcı bilgilerimiz ile giriş yapıyoruz.  
    $giris = ftp_login($baglanti, $ftpuser, $ftppass);  
     
    //bağlantı ve girişin olumlu olup olmadığını kontrol ediyoruz.  
    if ((!$baglanti) || (!$giris)) {  
        echo "Ftp bağlantısı sağlanamadı";  
        die;  
    } else {  
        echo "Ftp'ye bağlanıldı<br>";  
    }  
 
    //ftp_put fonksiyonu ile dosyamızı yüklüyoruz.  
 
    $yukle = ftp_put($baglanti,$hedefdosya, $kaynakdosya, FTP_BINARY);  


    //yüklenip yüklenemdiğini kontrol ediyoruz  
    if (!$yukle) {  
        echo "Dosya Yüklenemiyor";  
    } else {  
        echo "Dosya Yüklendi";  
    }  
    ftp_close($baglanti);  
}

它首先连接到服务器,然后抛出文件,并且在需要提取时无法处理提取。如果您能提供帮助,我将非常高兴。我有点新:)

【问题讨论】:

  • 为此,您需要在 ftp 服务器上安装一个 shell。
  • 您能提供更详细的信息吗?我正在寻找这个问题的答案,显然如何用 PHP 做到这一点。我使用谷歌翻译,因为我是土耳其人,如果我弄错了,我很抱歉。
  • 好吧,只能说不可能(由于安全原因,通常你不会得到 ftp + shell)
  • 如果可以正常删除,为什么不呢?如果我尝试通过输入 URL 来提取,你能成功吗?因为我认识很多这样做的人,但不幸的是我没有接近。

标签: php ftp


【解决方案1】:

使用 ZipArchive 像这样使用 php 提取 zip:

$zip = new ZipArchive;
$zippedfile= "minecraft.zip";//you can change location/name
if ($zip->open($zippedfile) !== TRUE) {
        echo 'Something went wrong';
} else {
    $zip->extractTo('.');//you can change location
    $zip->close();
}

【讨论】:

  • 你好,我在连接FTP的时候必须在ftp里做这个。
  • 所以请通过 FTP 上传带有我的代码的 php 文件并获取该文件的 url,例如使用 file_get_contents。它会提取您的 ZIP。
  • 非常感谢,我不知道怎么向你祈祷。对于那些不能的人,正如你朋友所说,我发送了 2 个不同的文件。
  • 不需要祈祷 :D 只需标记为有帮助 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多