PHP - Ayuda con UPLOAD de archivo PHP, JAVASCRIPT

   
Vista:

Ayuda con UPLOAD de archivo PHP, JAVASCRIPT

Publicado por Nata (20 intervenciones) el 09/06/2016 07:22:52
Hola, tengo un form y quería agregarle un campo para upload de archivo, he intentado de la manera que voy a colocar debajo pero sin resultado positivo. Si pueden darme una ayuda con esto, decirme que estoy haciendo mal.
Desde ya gracias!
index.php(hay mas campos pero acá coloco algunos)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<form class="form-horizontal well" enctype="multipart/form-data" method="post">
	<div class="row">
		<div class="control-group">
			<label class="control-label" for="inputEmail"><span class="req">*</span>
				Email:</label>
			<div class="controls">
				<input name="email" type="text" id="email" />
			</div>
		</div>
	</div>
 
	<div class="row">
		<div class="control-group">
			<label class="control-label" for="inputEmail"><span class="req">*</span> Telefone:</label>
			<div class="controls">
				<input name="tel" type="text" id="tel" size="28"
					maxlength="50" />
			</div>
		</div>
	</div>
 
	<div class="row">
		<div class="control-group">
			<label class="control-label" for="inputEmail"><span class="req">*</span>Anexar arquivos:</label>
			<div class="controls">
					<input name="uploadedfile" id="uploadedfile" type="file" />
			</div>
		</div>
	</div>
 
	<div class="form-actions">
 
		<button type="button" onclick="sendFrmOrcamento();"
			class="custom-btn" id="enviar-botao">
			<div class="arrow-btn-icon pull-left"></div>
			Enviar
		</button>
	</div>
</form>

Aqui scrip incluido en el index
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
<script>
 
$(".ui-corner-all").hover(function(){
	console.log("entrou");
}, function(){
	console.log("saiu");
});
 
$('#cnl-btn').click(function(){
	if(confirm('Tem certeza que deseja desfazer o orçamento e voltar para a tela anterior?')) window.location = './'
});
 
$('#termo').change(function(){
	if(this.checked){
		$('#termo-compromisso span').removeClass('shown');
	}else{
		$('#termo-compromisso span').addClass('shown');
	}
});
 
function validaEmail(email){
	var str = email;
	var filtro = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return filtro.test(str) ;
}
 
/*$('#data').datepicker();*/
var frm_send_orcamento = 0 ;
function campos_validados_frm_orcamento () {
 
		var obj = new Object();
		obj.test = true;
		obj.msg = new Array();
 
		if ( $('#data').val().length <= 0 ) {
			obj.msg.push('Informe a data da mudança.');
			obj.test = false;
		}
 
		if ( $('#tel').val().length <= 0 ) {
			obj.msg.push('Informe o telefone.');
			obj.test = false;
		}
 
		if ( $('#est-origem').val().length <= 0 || $('#est-origem').val() == '--' ) {
			obj.msg.push('Selecione o estado de origem.');
			obj.test = false;
		}
 
		if ( $('#contato_mudanca_Torigem').val().length <= 0 || $('#contato_mudanca_Torigem').val() == '--' ) {
			obj.msg.push('Selecione o tipo de mudança origem.');
			obj.test = false;
		}
 
		if ( $('#cid-origem').val().length <= 0 || $('#cid-origem').val() == 'cidade' ) {
			obj.msg.push('Informe a cidade de origem.');
			obj.test = false;
		}
 
		if ( $('#est-destino').val().length <= 0 || $('#est-destino').val() == '--' ) {
			obj.msg.push('Selecione o estado de destino.');
			obj.test = false;
		}
 
		if ( $('#contato_mudanca_Tdestino').val().length <= 0 || $('#contato_mudanca_Tdestino').val() == '--' ) {
			obj.msg.push('Selecione o tipo de mudança destino.');
			obj.test = false;
		}
 
		if ( $('#cid-destino').val().length <= 0 || $('#cid-destino').val() == 'cidade' ) {
			obj.msg.push('Selecione a cidade de destino.');
			obj.test = false;
		}
 
 
		if ( $('#nome').val().length <= 0 ) {
			obj.msg.push('Preencha o campo nome.');
			obj.test = false;
		}
 
		if ( $('#email').val().length <= 0 || !validaEmail($('#email').val()) ) {
			obj.msg.push('Preencha o campo com um e-mail válido.');
			obj.test = false;
		}
 
		if(!$('#termo')[0].checked ){
			obj.msg.push('Para utilizar nossos serviços, você deve concordar com os Termos de Serviço do Mudanças Econômicas.');
			obj.test = false;
			$('#termo-compromisso span').addClass('shown');
		}
 
 
		/*
		if ( $('#info').val().length <= 0 || ($('#info').val()).toLowerCase() == 'informe aqui os itens a serem transportados'  ) {
			obj.msg.push('Informe aqui os itens a serem transportados');
			obj.test = false;
		} 
		*/
 
		return obj;
 
 
 
}
 
function sendFrmOrcamento(){
 
	if( frm_send_orcamento == 0){
 
		cv = new campos_validados_frm_orcamento();
 
		if ( cv.test == true ) {
 
			$('#enviar-botao')
			.addClass('disabled')
			.removeClass('btn-success')
			.text('Enviando formulário...');
 
				frm_send_orcamento = 1;
				$('#envia input').hide();
				$('#envia-aguarde').show();
				var btn = document.getElementById('uploadedfile')
				document.forms[0].append("uploadedfile", btn.files[0]);
				$.post( '../ajax/ajax_contato_send2.php' , $(document.forms[0]).serialize() , function(data){
 
					if(data){
						if(data.status == 0) {
							alert(data.msg);
						}else{
 
							$('#enviar-botao')
							.removeClass('disabled')
							.addClass('btn-success')
							.text('Enviar orçamento');
 
							window.location = 'ok.html' ;
						}
					}else{
						var msg = '';
						msg = 'Erro ao receber resposta do serviço de envio de dados, confira em seu e-mail ou entre em contato\n';
						msg += 'através do e-mail <?php echo $email_sistema; ?>';
						alert( msg );
					}
 
 
					$('#envia input').show();
					$('#envia-aguarde').hide();
 
					frm_send_orcamento = 0;
 
				},'json');
 
		}else{
			alert(cv.msg[0]);
		}
	}
}
function EmptyField(id)
{
		var Fid             = document.getElementById(id);
		var TheDefaultValue = Fid.defaultValue;
		var TheValue        = Fid.value;
		if(TheDefaultValue == TheValue)
		{
				Fid.value = '';
		}
}
 
//$('.form-horizontal select option:contains(SP)').attr('selected', true)
 
</script>

ajax_contato_send2.php(solamente coloco la parte que intento subir el archivo, ya los demás campos si se envían)

1
2
3
4
5
6
7
8
9
10
11
if(isset($_FILES['uploadedfile']['name'])){
	if ($_FILES['uploadedfile']["error"] > 0){
		echo "Error: " . $_FILES['uploadedfile']['error'] . "<br>";
	}else{
		/*ahora co la funcion move_uploaded_file lo guardaremos en el destino que queramos*/
		$target_path = "uploads/";
		$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
		if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
		}
	}
}

He probado el codig de upload y si funciona, lo único que no he podido ver es si realmente se envía el campo uploadedfile. Los archivos enviados de esta forma se reciben con la variable $_FILES? o existe otra?
En adjunto les dejo los archivos completos.
Desde ya les agradezco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda con UPLOAD de archivo PHP, JAVASCRIPT

Publicado por xve (5512 intervenciones) el 09/06/2016 16:27:42
Hola Nata, para ello, tienes que utilizar el FomData()

aquí tienes un ejemplo:
http://www.lawebdelprogramador.com/codigo/JQuery/2450-Subir-archivos-al-servidor-con-ajax.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar