나는 파일 경로가 아닌 문자열 데이터를 사용하여 첨부 파일을 추가 할 수있는 메서드를 추가하여 Worx에서 PHP 메일러 클래스를 확장하려고합니다.php : // 메모리 래퍼를 사용하면 오류가 발생합니다.
public function addAttachmentString($string, $name='', $encoding = 'base64', $type = 'application/octet-stream')
{
$path = 'php://memory/' . md5(microtime());
$file = fopen($path, 'w');
fwrite($file, $string);
fclose($file);
$this->AddAttachment($path, $name, $encoding, $type);
}
그러나, 나는 얻을 모두가 PHP 경고입니다 :
나는 이런 식으로 뭔가 해낸 원래의 문서와되지 않은 괜찮은 예제가 있습니다PHP Warning: fopen() [<a href='function.fopen'>function.fopen</a>]: Invalid php:// URL specified
는하지만 인터넷 (one here on SO 포함) 주변에서 한 쌍을 찾았습니다. 내 용도가 맞습니다.
누구나 사용에 성공 했습니까?
내 대안은 임시 파일을 만들고 정리하는 것입니다.하지만 이는 디스크에 쓸 필요가 있음을 의미하며이 기능은 대량 배치 프로세스의 일부로 사용되며 느린 디스크 작업 (예 : 이전 서버) 가능한 곳. 이 파일은 짧은 파일이지만 스크립트 이메일을받는 사람마다 다른 정보를 가지고 있습니다.
나는 이것에 늦었지만 fclose()에서 메모리 버퍼를 삭제하지 않겠습니까? –