변수 주소와 파일이 포함된 동적 zip 파일을 생성하고 다운로드 가능한 링크를 받으세요.
P粉513318114
2023-08-08 19:02:30
<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>
$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') 🎜🎜🎜