Hice esto:
Código PHP:
# Proceso del archivo adjunto:
if(!empty($_FILES['archivo']) AND !empty($_FILES['archivo']['name'])){
$file=$_FILES['archivo']['tmp_name'];
if(is_uploaded_file($file))move_uploaded_file($file,$_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/'.$_FILES['archivo']['name']);
function EncodeString ($str, $encoding = "base64") {
$encoded = "";
switch(strtolower($encoding)) {
case "base64":
// chunk_split is found in PHP >= 3.0.6
$encoded = chunk_split(base64_encode($str), 76);
break;
case "7bit":
case "8bit":
$encoded = $this->FixEOL($str);
if (substr($encoded, -(strlen($this->LE))) != $this->LE)
$encoded .= $this->LE;
break;
case "binary":
$encoded = $str;
break;
case "quoted-printable":
$encoded = $this->EncodeQP($str);
break;
default:
$this->SetError($this->Lang("encoding") . $encoding);
break;
}
return $encoded;
}
function EncodeFile ($path, $encoding = "base64") {
if(!@$fd = fopen($path, "rb")){echo 'Error'; exit;}
$file_buffer = fread($fd, filesize($path));
$file_buffer = EncodeString($file_buffer, $encoding);
fclose($fd);
return $file_buffer;
}
$qqq=EncodeFile($_SERVER['DOCUMENT_ROOT'].dirname($_SERVER['PHP_SELF']).'/'.$_FILES['archivo']['name']);
Echo $qqq;
Las cabeceras del mail to2 las conocemos...
Código PHP:
$encoding='base64';
@mail(Mi Nombre <mico@yahoo.com>',$asunto,$mensaje,"Mime-Version: 1.0\nContent-type: $tipo\nFrom: $remite <$desde>\nReply-To: $remite <$desde>\nX-Mailer: PHP\nErrors-To: $remite <$desde>\nContent-Type: application/octet-stream; name=".$_FILES['archivo']['name']."\nContent-Transfer-Encoding: $encoding\nContent-Description: ".$_FILES['archivo']['name']."\nContent-Disposition: attachment; filename=".$_FILES['archivo']['name]."\n$qqq");}
Que hago?, es correcto enviar $qqq al final de mail() sin colocar una cabecera como datos=$qqq ?.
No vamos a reinventar como generar un PDF si ya esta la clase o la funcion, etc, pero mi pregunta es es demasiado lo que falta para enviar el file?, o solo es cosa de XXX y ya queda bueno el script?
Nota: (El file se ha subido exitosamente).
Salu2!.