En este grupo En todos

Foro de PHP



tomar fotos desde php

jose fernando
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 10/05/2012

Buen dia Joan , soy novato en este tema de php , te cuento que tengo un script donde puedo tomar fotos y almacenarlas en una carpeta dentro del local host, pero necesito almacenar la ruta de la foto que se gurda en la capeta, en la base de datos en el campo llamado foto , el campo es de tipo varchar , luego quiero llamarlas con un select y visualizarlas , de verdad que no he podido hacerlo , utilizo como servidor local appserv de antemano gracias por su atención.

Carlos Belisario
Informática i.u.t.la victoria extencio...
Escrito por Carlos Belisario
el 11/05/2012

En el campo de la base de datos solo guarda la ruta hacia la carpeta donde subes la foto, luego haces la consulta y colocas en el src de la etiqueta img el resultado de la misma

<img src="<? Php echo $row['foto'];? >" alt="photo" />


Donde $row['foto'] es la variable donde guardaste el dato que te trajo de la consulta, saludos

Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 11/05/2012

Gracias Carlos Belisario por responder , te enseño el script :

<? Php
require_once("class/class. Php");
date_default_timezone_set("bogota/lima/quito
");
/* JPEGCam Test Script */
/* Receives JPEG webcam submission and saves to local file. */
/* Make sure your directory has permission to write files as your web server user! */

$filename = $_GET["id"].'. Jpg';
//$filename="cesar. Jpg";
$result = file_put_contents( "fotos/". $filename, file_get_contents('php://input') );
if (! $result) {
print "ERROR: Failed to write data to $filename, check permissions\n";
exit();
}
$_SESSION["foto"]=$filename;


? >

la verdad no se como darle la ruta de la base de datos.
mil gracias por tu ayuda.

Carlos Belisario
Informática i.u.t.la victoria extencio...
Escrito por Carlos Belisario
el 11/05/2012

Esto que esta aca "fotos/". $filename es la ruta al archivo que estas guardando, esta ruta sencillamente hasle un insert en tu base de datos e indica si te funciona

Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 11/05/2012

Gracias Carlos Belisario por responder.

Amigo de verdad que lo he intentado y no me gurda nada ; la tabla tiene 3 campos id, nombre y foto , los dos primero campos muy bien, el tercer campo donde deberia aparecer la ruta queda en blanco , si me indicas la manera de hacerlo mil gracia.

Yo te puedo mandar todos los script para comparar si quieres

De nuevo mil gracias

Carlos Belisario
Informática i.u.t.la victoria extencio...
Escrito por Carlos Belisario
el 12/05/2012

Muestrame como haces el insert para ver si hay algún error, e indica el tipo de campo que estas usando para guardar esta ruta

Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 12/05/2012

Claro amigo aqui esta:

<? Php
require_once("class/class. Php");
date_default_timezone_set("bogota/lima/quito
");
/* JPEGCam Test Script */
/* Receives JPEG webcam submission and saves to local file. */
/* Make sure your directory has permission to write files as your web server user! */
//$nombre_foto=$_FILES["foto"]["name"];

$nombre_foto=$_GET["id"].'. Jpg';
$ruta=$_FILES["foto"]["tmp_name"];
$destino= "fotos/". $nombre_foto;
copy($ruta,$destino);

$sql="select * from prueba";
$res=mysql_query($sql,Conectar:con());
$query="insert into visitas(nombre,foto) values('$nom','$destino')";
header("Location=index. Php");
$_SESSION["foto"]=$nombre_foto;



//$filename = $_GET["id"].'. Jpg';
//$filename="cesar. Jpg";
//$result = file_put_contents( "fotos/". $filename, file_get_contents('php://input') );
//if (! $result) {
//print "ERROR: Failed to write data to $filename, check permissions\n";
//exit();
//}
// $_SESSION["foto"]=$filename;


? >

Carlos Belisario
Informática i.u.t.la victoria extencio...
Escrito por Carlos Belisario
el 12/05/2012

Comencemos porque

$query="insert into visitas(nombre,foto) values('$nom','$destino')";


no estas ejecuntando el query solo estas realizando el string con la consulta,

colocalo en un mysql_query() y comentas si lo introdujo, por cierto siempre es bueno depurar las consultas con mysql_error de esta manera


mysql_query(/*tu consulta*/) or die(mysql_error());

prueba y nos comentas

Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 13/05/2012

Gracias por tu ayuda. Lo intente asi pero nada.

<? Php
require_once( "class/class. Php"
);
date_default_timezone_set (
"bogota/lima/quito
"
);
/* JPEGCam Test Script */
/* Receives JPEG webcam submission and saves to local file. */
/* Make sure your directory has permission to write files as your web server user! */

$filename = $_GET [ "id" ]. '. Jpg' ;
// $filename es el nombre del achivo
//$filename="cesar. Jpg";
$result = file_put_contents ( "fotos/" . $filename , file_get_contents ( 'php://input'
) );
if (!
$result
) {
print
"ERROR: Failed to write data to $filename, check permissions\n"
;
exit();
}
$_SESSION [ "foto" ]= $filename
;

mysql_query ( "INSERT INTO visitas set foto=$filename" );

? >


la verdad soy demasido novato en este tema.

Carlos Belisario
Informática i.u.t.la victoria extencio...
Escrito por Carlos Belisario
el 13/05/2012

El problema es de comillas deberías de colocarlo así

mysql_query ( "INSERT INTO visitas(foto) VALUES('$filename')" ) or die("Error al instertar". Mysql_error());

saludos

Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 13/05/2012

Amigo, de Verdad agradezco tu interes y tu tiempo , mil gracias , pero no tampoco me inserta nada en la base de datos.

Carlos Belisario
Informática i.u.t.la victoria extencio...
Escrito por Carlos Belisario
el 13/05/2012

Bueno es que si vemos bien tu código no tienes ninguna conexión con el servidor el mysql_error no te dio ningun error? Sería cuestión de que indiques mas detalles

Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 14/05/2012

De nuevo gracias Carlos Belisario, si no te molesta te puedo mandar a tu correo los script completos , y los revisamos mi correo es

Aaronlevin51@yahoo. Com

Te lo agradeceria muchisimo.


Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 14/05/2012

Mi correo aaronlevin51@yahoo. Com

Saludos.

Jose Fernando Cuartas
Mantenimiento de pcs cesde y cedecomputo
Escrito por Jose Fernando Cuartas
el 09/06/2012

Hola amigos , despues de jugar un poco con el codigo logre lo que queria , hice algunos cambios:

$clientID=$_POST["clientID"];
$firstname=$_POST["firstname"];
$lastname=$_POST["lastname"];
$address=$_POST["address"];
$zipCode=$_POST["zipCode"];
$city=$_POST["city"];
$country=$_POST["country"];
$sqlz="select * from visitas";
$resz=mysql_query($sqlz,Conectar:con());
$sql_insert="insert into visitantes(num_doc,tip_doc,nombres,apellidos,dest,fecha,hora,elemen,cod_bar,foto) values('$clientID','$city','$firstname','$lastname','$address',now(),now(),'$country','$zipCode','$clientID. Jpg')";
mysql_query($sql_insert) or die(mysql_error());
simplemente un insert en el campo foto con lo que venga via post con terminacion. Jpg
luego para vizualizar las fotos tengo 2 tablas, y comparo los id de cada tabla son autoincrementables, si son el mismo id; ej id 5 en visitantes e id 5 en carnet entonces nos lleva al campo foto donde grabamos por ejemplo 344535. Jpg y ese mismo registro se encuentra en la carpeta fotos :
<? Php $codi=$_POST["codi"];
$sql="select * from visitas";
$res=mysql_query($sql,Conectar:con());
$resultado=mysql_query("select * from visitantes,carnet where visitantes. Id_visit=carnet. Id_carnet ");
while($row=mysql_fetch_array($resultado)){
echo '<img src="fotos/'. $row["foto"]. '">';
}
? >

mil gracias Belisario.