PDF에서 JPG/JPEG로 축소판을 만들 때도 마찬가지입니다.
function writeAttachmentsToDisk($mbox,$uid,$part,$dir,$subtype,$subject,$attachments,$readonly=false,$dataInici=''){
if(!file_exists($dir)){
mkdir($dir);
}
if(!empty($dataInici)){
$subject = trim(str_replace($dataInici,'',$subject));
}
$filename = setNomArxiu(@iconv_mime_decode($subject,0,'UTF-8').(count($attachments)>0?'-'.strtoupper(alpha(count($attachments))):'')).'.'.$subtype;
if(!$readonly || !file_exists($dir.'/'.$filename)){
$temp_filename = 'tmp.eml';
$email_file = $dir."/".$temp_filename;
@imap_savebody($mbox,$email_file,$uid,$part,FT_UID | FT_PEEK);
if(file_exists($email_file)){
$tb = false;
for($a=0;$a<count($attachments);$a++){
if(files_identical($email_file,$attachments[$a])){
$tb = true;
break;
}
}
if(!$tb){
$command = "php -r '\$fh = fopen(\$argv[1], \"r\"); \$theData=fread(\$fh, filesize(\$argv[1])); fclose(\$fh); echo base64_decode(\$theData);' '$email_file' > $dir/$filename";
exec($command,$output,$result);
if($result!=0){
unlink($email_file);
@rmdir($dir);
return false;
} else {
unlink($email_file);
return $dir.'/'.$filename;
}
}else{
unlink($email_file);
@rmdir($dir);
return false;
}
}else{
unlink($email_file);
@rmdir($dir);
return false;
}
}else{
return $dir.'/'.$filename;
}
}
기능은 위의 손 (알파, setNomArxiu, files_identical)에 대한 질문과 관련이없는 다른 기능을 사용
이
내가 그렇게하도록 구현 한 기능입니다.
나는 문제가 어떻게 든 여기 있어야합니다 같아요
$command = "php -r '\$fh = fopen(\$argv[1], \"r\"); \$theData=fread(\$fh, filesize(\$argv[1])); fclose(\$fh); echo base64_decode(\$theData);' '$email_file' > $dir/$filename";
exec($command,$output,$result);
이미지 can be seen here in most browsers을 발생하지만, 맥에 저장하면 Safari에서 거의 검은 색, 어두운 및 표시됩니다.
여기에 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까?
감사합니다.
PNG로 변경하면 문제가 해결되지만 여전히 JPEGS가 작동하지 않는 이유에 대해서는 답변하지 않습니다. –
Mac 용 Safari 5.0.3에서 즐겁게 작동 :-) – Ragnar123