Se eu enviar apenas 1 foto em anexo ela nao vai, aparece um monte de letras e números no e-mail (como se fosse a codificação da foto que foi enviada). O mesmo acontece se eu enviar 2 fotos ou mais. A partir da 2ª foto todas vão sem problema, só a primeira mesmo que dá esse erro.
Os dados chegam normal também.
Ai estão os códigos de cada página
cadastro.htm
[codebox]<form action="upload.php" method="post" enctype="multipart/form-data" id="form1">
<table width="489" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="121" class="style1">Nome:</td>
<td width="362"><label>
<input name="nome" type="text" id="nome" size="50" />
</label></td>
</tr>
<tr>
<td class="style1">Sexo:</td>
<td><label>
<select name="sexo" id="sexo">
<option value="Masculino">Masculino</option>
<option value="Feminino">Feminino</option>
</select>
</label></td>
</tr>
<tr>
<td class="style1">Data de Nasc.::</td>
<td><input name="data" type="text" id="data" value="DD/MM/AAAA" size="20" /></td>
</tr>
<tr>
<td class="style1">E-mail:</td>
<td><input name="email" type="text" id="email" size="30" /></td>
</tr>
<tr>
<td class="style1">Endereço:</td>
<td><input name="endereco" type="text" id="endereco" size="50" /></td>
</tr>
<tr>
<td class="style1">Bairro:</td>
<td><input name="bairro" type="text" id="bairro" size="30" /></td>
</tr>
<tr>
<td class="style1">Cidade/Estado:</td>
<td><input name="cidade" type="text" id="cidade" size="30" /></td>
</tr>
<tr>
<td class="style1">CEP:</td>
<td><input name="cep" type="text" id="cep" value="XXXXX-XXX" size="30" /></td>
</tr>
<tr>
<td class="style1">Telefone(s):</td>
<td><input name="telefones" type="text" id="telefones" size="50" /></td>
</tr>
</table>
<div id="conteudo">
<p class="style1">Envie-nos suas Fotos </p>
<p>
<input type="file" name="file[]" />
<input type="button" value="Adicionar" onClick="Add()" />
<span id="campos"></span><br />
</p>
<p> </p>
</div>
<p class="style1">Dados:</p>
<table width="388" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="122" class="style1">Altura:</td>
<td width="260"><input name="altura" type="text" id="altura" size="20" /></td>
</tr>
<tr>
<td class="style1">Manequim:</td>
<td><input name="manequim" type="text" id="manequim" size="20" /></td>
</tr>
<tr>
<td class="style1">Tórax / Busto: </td>
<td><input name="busto" type="text" id="busto" size="20" /></td>
</tr>
<tr>
<td class="style1">Sapato:</td>
<td><input name="sapato" type="text" id="sapato" size="20" /></td>
</tr>
<tr>
<td class="style1">Cintura:</td>
<td><input name="cintura" type="text" id="cintura" size="20" /></td>
</tr>
<tr>
<td class="style1">Olhos:</td>
<td><input name="olhos" type="text" id="olhos" size="20" /></td>
</tr>
<tr>
<td class="style1">Quadril:</td>
<td><input name="quadril" type="text" id="quadril" size="20" /></td>
</tr>
<tr>
<td class="style1">Cabelos:</td>
<td><input name="cabelos" type="text" id="cabelos" size="20" /></td>
</tr>
<tr>
<td class="style1">Pele:</td>
<td><input name="pele" type="text" id="pele" size="20" /></td>
</tr>
<tr>
<td class="style1">Peso (Kg) :</td>
<td><input name="peso" type="text" id="peso" size="20" /></td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="Enviar" />
</p></form>[/codebox]
funcoes.js
[codebox]NumeroCampo = 0;
function Add() {
if(NumeroCampo < 4) {
NumeroCampo++;
data = "<span id='campo"+NumeroCampo+"'><input type=\"file\" name=\"file[]\" /> <input type=\"button\" value=\"Remover\" onclick=\"Delcampo('campo"+NumeroCampo+"')\" /></span>";
campo = document.getElementById("campos");
campo.innerHTML = campo.innerHTML + data;
}
}
function Delcampo(IDDiv) {
var d = document.getElementById('campos');
var olddiv = document.getElementById(IDDiv);
d.removeChild(olddiv);
NumeroCampo--;
}[/codebox]
upload.php
[codebox]<?php
if (getenv("REQUEST_METHOD") == "POST")
{
set_time_limit(0);
//só para teste mas auterem essa parte para pegar os dados via post $_POST
$to = "luanhg@uol.com.br";
$assunto = "Cadastro de Modelo";
$nome = $_POST["nome"];
$sexo = $_POST["sexo"];
$data = $_POST["data"];
$email = $_POST["email"];
$endereco = $_POST["endereco"];
$bairro = $_POST["bairro"];
$cidade = $_POST["cidade"];
$cep = $_POST["cep"];
$telefones = $_POST["telefones"];
$altura = $_POST["altura"];
$manequim = $_POST["manequim"];
$busto = $_POST["busto"];
$cintura = $_POST["cintura"];
$sapato = $_POST["sapato"];
$olhos = $_POST["quadril"];
$cabelo = $_POST["cabelo"];
$quadril = $_POST["quadril"];
$pele = $_POST["pele"];
$peso = $_POST["peso"];
$anexos = 0;
$boundary = "XYZ-" . date("dmYis") . "-ZYX";
$mens = "--$boundary\n";
$mens .= "Content-Transfer-Encoding: 8bits\n";
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n";
$mens .= "Mensagem enviada por: ".$nome." em: ".date("d/m/Y - H:i")."
Abaixo seguem os dados do usuário:
E-mail: ".$email."
Sexo: ".$sexo."
Data de Nascimento: ".$data."
Endereço: ".$endereco."
Bairro: ".$bairro."
Cidade: ".$cidade."
CEP: ".$cep."
Telefones: ".$telefones."
Altura: ".$altura."
Manequim: ".$manequim."
Busto/Tórax: ".$busto."
Cintura: ".$cintura."
Sapato: ".$sapato."
Olhos: ".$olhos."
Cabelo: ".$cabelo."
Quadril: ".$quadril."
Pele: ".$pele."
Peso: ".$peso ;
$mens .= "--$boundary\n";
for($i = 0; $i < count($_FILES["file"]["name"]); $i++)
{
if(is_uploaded_file($_FILES["file"]["tmp_name"][$i])){
$fp = fopen($_FILES["file"]["tmp_name"][$i], "rb");
$anexo = chunk_split(base64_encode(fread($fp, $_FILES["file"]["size"][$i])));
fclose($fp);
$mens .= "Content-Type: ".$_FILES["file"]["type"][$i]."\n name=\"".$_FILES["file"]["name"][$i]."\"\n";
$mens .= "Content-Disposition: attachment; filename=\"".$_FILES["file"]["name"][$i]."\"\n";
$mens .= "Content-transfer-encoding:base64\n\n";
$mens .= $anexo."\n";
if($i + 1 == count($_FILES["file"]["name"]))
$mens.= "--$boundary--";
else
$mens.= "--$boundary\n";
if($_FILES["file"]['error'][$i] == 0) {
$anexos++;
}
}
}
$headers = "MIME-Version: 1.0\n";
$headers .= "Date: ".date("D, d M Y H:i:s O")."\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers .= "From: \"$nome\" <$email>\r\n";
if(mail($to, $assunto, $mens, $headers)){
echo "O email foi enviado com sucesso, $anexos anexos";
} else {
echo "Nao foi possivel enviar o email";
}
}
?>[/codebox]
Agradeço desde já a ajuda de quem puder ai...
Valeu!!!
Edição feita por: savior, 27/07/2007, 23:48.
Na próxima vez, utilize [codebox].