PHP - Problema con registro de imagen

 
Vista:
Imágen de perfil de Emiliano

Problema con registro de imagen

Publicado por Emiliano (17 intervenciones) el 20/08/2014 00:44:43
Hola, como estan, tengo una dificultad al momento de guardar la imagen en la carpeta de destino, ya he revisado el codigo pero, no encuentro el erro, tendrian la amabilidad de mirar el codigo, y sugerirme algo:

El Formulario( Los id son para referenciarlas a las hojas de estilo, eso no lo tomen encuenta):


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
<form METHOD="POST" ACTION="Registro_Productos.php ">
		    <h2>Registro de Equipos Informàtico</h2>
            <fieldset id="fielSet">
           <legend>Ingrese su Informaciòn</legend>
            <a  id="txtObligatorioSignificado">* Esta informaciòn es obligatoria</a></br>
	        Nombre:<br/>
          <input id="txtFormularios" type="text"  name="nombre" maxlength="20" size="30" onkeypress="return validar_letras(event)">
	      <a id="txtObligatorio">*</a>
		  <br/>
 
	        Tipo:<br/>
	        <select id="selectReserva" name="tipo"  >
            <option>LAPTOP</option>
		    <option>NETBOOK</option>
            <option>PC ESCRITORIO</option>
		    <option>IMPRESORA</option>
            <option>SCANER</option>
		    <option>CAMARA WEB</option>
            <option>CARTUCHO</option>
            </select>
	     <a id="txtObligatorio">*</a>
		 <br/>
 
	      Precio:<br/>
         <input id="txtFormularios" type="text" name="precio" maxlength="20" size="30" onkeypress="return numeros(event)">
	    <a id="txtObligatorio">*</a>
		<br/>
 
	        Descuento(%):<br/>
	        <select id="selectReserva" name="descuento" >
		    <option >0</option>
            <option>1</option>
		    <option>2</option>
            <option>3</option>
		    <option>4</option>
            <option>5</option>
		    <option>6</option>
            <option>7</option>
		    <option>8</option>
			<option >9</option>
            <option>10</option>
		    <option>11</option>
            <option>12</option>
		    <option>13</option>
            <option>14</option>
		    <option>15</option>
            <option>16</option>
		    <option>18</option>
		    <option>19</option>
		    <option>20</option>
            </select>
	      <br/>
 
	      Marca:<br/>
	      <select id="selectReserva" name="marca"  >
          <option>HP</option>
		  <option>DELL</option>
          <option>TOSHIBA</option>
		  <option>SONY WAIO</option>
          <option>MAC</option>
		  <option>EPSON</option>
          <option>SONY</option>
          </select>
	      <a id="txtObligatorio">*</a>
	      <br/>
 
	      Proveedor:<br/>
	      <input id="txtFormularios" type="text" name="proveedor" maxlength="30" size="30">
	     <a id="txtObligatorio">*</a>
		 <br/>
 
	      Fecha:<br/>
         <input id="txtFormularios" type="text" name="fecha" maxlength="10" size="30">
	    <a id="txtObligatorio">*</a>
	     <br>
	  	 Principales Caracteristicas:<br/>
	     <TEXTAREA id="txtFormularios" NAME="detalle" ROWS=4 COLS=23>
         </TEXTAREA>
	    <a id="txtObligatorio">*</a>
		<br/>
 
	     Imagen<br/>
         <input id="selectReserva" type="file" name="imagen"/>
		 <input type="hidden" name="MAX_FILE_SIZE" value="200"/>
	    <a id="txtObligatorio">*</a>
		<br/>
	    <br/>
 
	    <input id="botones"  type="submit" Value="Registrar">
	    <input id="botones" type="reset" value="Limpiar Campos">
	    <br/>
		<br/>
	    <!--<h2 id="tablas"><div id="resultado" ></div></h2>-->
          </fieldset>
		  		<div ><?php include('consulta.php');?></div>
 
       </form>


El registro(El problema se me presenta justo aqui:

$destino =$carpeta.$_FILES["imagen"]["name"];
// copyamos donde se ba a agurdar
copy($_FILES["imagen"]["tmp_name"],$destino); etas dos lineas de codigo me sale index indefinido, y la carpeta esta en el mismo directorio raiz donde esta todo,
):

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
<?php
 
$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "";
$bd_base = "ventas_productos";
 
 
    $nom=$_POST["nombre"];
	$tipo=$_POST["tipo"];
	$prec=$_POST["precio"];
	$des=$_POST["descuento"];
	$mar=$_POST["marca"];
	$prove=$_POST["proveedor"];
    $fech=$_POST["fecha"];
	$det=$_POST["detalle"];
	//$imag=$_POST["imagen"];
 
 
//variable e nombre de la carpeta
$carpeta = "imagenes/";
//abrir la carpeta para guardar archivo en carpeta especifica
opendir($carpeta);
//destino de la carpeta y guardo con u nombre
$destino =$carpeta.$_FILES["imagen"]["name"];
// copyamos done se ba a agurdar  
copy($_FILES["imagen"]["tmp_name"],$destino);
 
$rutaEnServidor='imagenes';
$imag=$rutaEnServidor.'/'.$_POST["imagen"];
 
$con = mysql_connect($bd_host, $bd_usuario, $bd_password);
 
mysql_select_db($bd_base, $con);
 
//variables POST
 
 
//registra los datos del empleados
echo "<font size=+2 color= #000>";
if( !empty($_POST['nombre'])){
$sql="INSERT INTO producto (Nombre_Producto,Tipo_Producto,Precio_Producto,Descuento_Producto,Marca_Producto,Proveedor_Producto,Fecha_Compra_Producto,Detalle_Producto,Imagen_Producto) VALUES ('$nom','$tipo','$prec','$des','$mar','$prove','$fech','$det','$imag')";
echo "Se registro el equipo con normalidad";
mysql_query($sql,$con);
}else{
echo "No ha registrado ningun valor";
}
echo"</font>";
mysql_close($con);
 
?>

Gracias por tomarse el tiempo de verificar esto.
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con registro de imagen

Publicado por xve (6935 intervenciones) el 20/08/2014 10:19:24
Hola Emiliano, creo que tu problema esta aquí:
1
$carpeta = "imagenes/";

Creo que tienes que indicar la ruta absoluta donde poner la imagen...

Prueba así:
1
$carpeta = $_SERVER['DOCUMENT_ROOT']."/imagenes/";

Coméntanos, ok?
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
Imágen de perfil de Emiliano

Problema con registro de imagen

Publicado por Emiliano (17 intervenciones) el 20/08/2014 22:43:57
Gracias por tus respuesta al momento de copiar esta bien el codigo, sigue el mismo mensaje index indefinido, o el metodo esta bien para guardar en la carpeta.

$carpeta = $_SERVER['DOCUMENT_ROOT']."/imagenes/";

//abrir la carpeta para guardar archivo en carpeta especifica
opendir($carpeta);

//destino de la carpeta y guardo con u nombre
$destino =$carpeta.$_FILES["imagen"]["name"];

// copyamos done se ba a agurdar
copy($_FILES["imagen"]["tmp_name"],$destino);
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