Ir ao conteúdo
  • Cadastre-se

PHP Warning: Cannot use a scalar value as an array in


fbranco76

Posts recomendados

Tenho um script que pega um arquivo via formulario e envia por email, alguem sabe como contornar esse erro:

fonte:

<html>

<head>

<title>teste email</title>

</head>

<body>

<form method=post enctype="multipart/form-data" action="teste.php">

<input type=file name=foto>

<input type=submit value="enviar">

</form>

<?php

if(isset($foto)) {

if(!empty($foto)) {

$msg = '';

$arquivo = $_FILES['foto']['tmp_name'];

$nome = $_FILES['foto']['name'];

$tipo = $_FILES['foto']['type'];

$fp = fopen($arquivo, "r");

if($fp) {

$conteudo = fread($fp, filesize($arquivo));

fclose($fp);

$tmp = fopen("diretorio_interno_q_tem_acesso/".$nome, "wb");

if($tmp) {

fwrite($tmp, $conteudo);

fclose($tmp);

// variaveis de cabecalho do email

$htmP = "diretorio_interno_q_tem_acesso/".$nome;

$email = "[email protected]";

$boundary = strtotime('NOW');

$headers = "From: Teste - fulano <[email protected]>\n";

$headers .= "Return-Path: [email protected] \n";

$headers .= "Reply-To: [email protected] \n";

$headers .= "MIME-Version: 1.0\n";

$headers .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";

$msg = "--".$boundary."\n";

$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";

$msg .= "Content-Transfer-Encoding: quoted-printable\n\n";

$msg .= "aqui vai um texticulu para o cidadão \n";

$msg .= "--".$boundary."\n";

$msg .= "Content-Transfer-Encoding: base64\n";

$msg .= "Content-Disposition: attachment; filename=\"".$nome."\"\n\n";

ob_start();

readfile($htmP);

$enc = ob_get_contents();

ob_end_clean();

$msg_temp = base64_encode($enc)."\n";

$tmp[1] = strlen($msg_temp);

$tmp[2] = ceil($tmp[1]/76);

for($b=0; $b<=$tmp[2]; $b++) {

$tmp[3] = $b*76;

$msg .= substr($msg_temp, $tmp[3], 76)."\n";

}

unset($msg_temp, $tmp, $enc);

$status = mail($email, "Atendimento", $msg, $headers);

} else {

$msg .= "<br>Erro ao tentar criar arquivo no dir interno...";

}

} else {

$msg .= "Erro ao abrir arquivo";

}

}

}

?>

</body>

</html>

O motivo de abrir o arquivo no diretorio temporario do php se da porque antes quando tentava abrir e anexar o arquivo para envio no email, falava q nao tinha permissao, então lembrei q no servidor nao posso abrir/executar arquivos de outros diretorios que nao pertençam a minha pasta, no caso o /var/tmp nao me pertence nao posso manipula-lo então copiei para dentro da minha pasta, agora ta dando erro na parte q dividi o arquivo em pedacos para dps enviar por email.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!