如何在PHP中添加新页面?

时间:2015-03-29 14:10:32

标签: php ftp unzip

我正在建立一个上传档案并提取为ftp的系统,但由于php没有功能" ftp_unzip",我必须进行存档以提取内部主机。

<?php
//Upload the image file to the server

$ftp_server = 'luis.habboproject.net';
$ftp_user_name= 'login';
$ftp_user_pass = 'senha'; 

echo $_FILES['userfile']['name'];

$source_file= "archive.zip";
$destination_file="/public_html/archive.zip";

$source_file2= "oi.php";
$destination_file2="/public_html/oi.php";

// set up basic connection
$conn_id = ftp_connect($ftp_server); 

// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// check connection
if ((!$conn_id) || (!$login_result)) { 
echo "FTP connection has failed!";
echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
exit; 
} else {
echo "Connected to $ftp_server, for user $ftp_user_name";
}

// turn passive mode on
ftp_pasv($conn_id, true);

// upload the file
$upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY); 
$upload2 = ftp_put($conn_id, $destination_file2, $source_file2, FTP_BINARY); 


// check upload status
if (!$upload) { 

} else{
// Code to Acting a page http://luis.habboproject.net/oi.php to extract the archive.zip in a host


}
// close the FTP stream 
ftp_close($conn_id);

?>

我想知道php或javascript中是否有某些功能,它们具有&#34;提交按钮&#34;的相同结果,但没有点击。换句话说,我想执行存档以激活提取器。

1 个答案:

答案 0 :(得分:0)

eu vejoquevocêpodesimplificar um pouco a estrutura doseucódigo,onde com umalibraryvocêpodezipar e unzipar os arquivos com a mesma:zipArchive

介绍dessa图书馆vocêpodedeszipar o arquivo no seu servidor da seguinte forma:

<?php
    $Zip = new ZipArchive;
    $result = $zip->open('arquivo.zip');
    if($result)
      {
          $Zip->extractTo($_SERVER["DOCUMENT_ROOT"].'/diretorio_desejado_unzip/')
          $Zip->close();

          echo "UHUL! Deu certo!";
      }
    else
    {
       echo "Oops! Algo deu errado";
    }
  ?>

Ao fazer o upload do arquivo,vocêpodesimplesmente usar o exemplo acima para extrair o seu arquivo sem a mustidade de dar um submit ou acessar o arquivo de qualquer forma。

Caso ainda queira acessar o arquivo de alguma forma,vocêpodeusar a biblioteca CURL

编辑:

com a biblioteca CURL,vocêpodetestar:

$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($handle);
curl_close($handle);
print_r($data);