>  Q&A  >  본문

변수 주소와 파일이 포함된 동적 zip 파일을 생성하고 다운로드 가능한 링크를 받으세요.

<p>두 개의 파일을 zip 파일에 넣고 싶습니다. 하나는 thanks.txt이고 다른 하나는 file.dat입니다. 다음 코드를 사용하여 이 zip 파일에 연결하지만 내 코드가 올바르게 실행되지 않습니다. 이 코드를 수정하고 최적화하는 데 도움을 주세요. <br /><br />Thanks.txt 파일에 고객의 사용자 이메일과 함께 다음 텍스트를 입력하세요. <br /><br />Hi, Dear '.$email_address . ' 이용해 주셔서 감사합니다!<br /><br />내 코드:</p><p><strong></strong></p> <pre class="brush:php;toolbar:false;">funtion create_zip_file() { // 현재 사용자 이메일 주소를 가져옵니다! $current_user = wp_get_current_user(); $email_address = $current_user->user_email; $md5_address = md5($email_address); $directory_path = 'myfiles/cloud/' .$md5_address '/'; if (!file_exists($directory_path)) { mkdir($directory_path, 0777, true); } $Myfile = file_put_contents($directory_path . 'file.dat' , $email_address); if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { $website_url = 'https://' . $_SERVER['HTTP_HOST'] .'/'; } 또 다른 { $website_url = 'http://' . $_SERVER['HTTP_HOST'] .'/'; } $result = $website_url .$디렉토리_경로 . $zip = 새로운 ZipArchive; if ($zip->open($zip_file , ZipArchive::CREATE) === TRUE) { //zip 파일에 파일 추가 $zip->추가파일($result); // 지정된 텍스트를 사용하여 zip에 new.txt 파일을 추가합니다. $zip->addFromString('thanks.txt', '안녕하세요. '.$email_address.' 사용해 주셔서 감사합니다!'); // 모든 파일이 추가되었으므로 zip 파일을 닫습니다. $zip->close(); // 압축 후 파일 삭제 연결 해제($result); } $zip_file = $website_url .$디렉토리_경로 . if (file_exists($zip_file)) { $zip_file을 반환합니다. } 또 다른 { 거짓을 반환; } }</pre> <p><strong>그리고 다음 코드를 사용하여 zip 파일을 호출합니다. </strong></p> <p><code><a href="<?php echo create_zip_file();"> zip 파일 다운로드 </a></code></p> <p>다음 코드에서 고정 주소($zip_file)를 사용하는 경우: </p> <p><code>if ($zip->open($zip_file , ZipArchive::CREATE) === TRUE)</code></p> <p>zip 파일이 생성되는데 동적 주소를 사용하면 zip 파일이 생성되지 않습니다. </p>
P粉513318114P粉513318114410일 전620

모든 응답(1)나는 대답할 것이다

  • P粉463824410

    P粉4638244102023-08-09 00:24:08

    $zip->addFile($result);는 서버에서 유효한 경로를 예상했지만 파일의 URL을 전달했습니다. $zip->addFile($result); 期望在服务器上传入有效路径,但你传入了该文件的URL。

    同样适用于 $zip_file = $website_url . $directory_path . 'file.zip';

    请使用创建 .dat 文件时使用的相同路径:$zip->addFile($directory_path . 'file.dat')

    $zip_file = $website_url . $directory_path . 'file.zip';🎜🎜.dat 파일을 생성할 때 사용한 것과 동일한 경로를 사용하세요: $zip->addFile($directory_path . 'file. dat') 🎜🎜🎜

    회신하다
    0
  • 취소회신하다