Foros del Web » Programando para Internet » Javascript »

Utilizar el file_exists en javascript

Estas en el tema de Utilizar el file_exists en javascript en el foro de Javascript en Foros del Web. Buenas, me he atascado en una tontería y no veo como solucionarlo... A ver, tengo un select en mi formulario relleno de artículos que coge ...
  #1 (permalink)  
Antiguo 18/11/2004, 03:53
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Utilizar el file_exists en javascript

Buenas, me he atascado en una tontería y no veo como solucionarlo...

A ver, tengo un select en mi formulario relleno de artículos que coge de una base de datos estos artículos pueden tener asociada una imagen y quería que al cambiar el select se apareciera la imagen que toca. En eso no he tenido problema alguno, he creado una función Cambiar_imagen a la que le paso el codigo del producto (que a la vez es el nombre de la imagen) y me funciona correctamente, quería mejorarlo para que si la foto no se encuentra me muestre una por defecto, en php utilizo file_exists... y es ahí donde me he atascado, no sé como utilizar el file_exists si el codigo o nombre de foto esta en javascript.

Esta es la función que utilizo:

Código:
function Cambiar_imagen(codigo)
{
		<? if (file_exists("../../public/Fotos/Lineas/"+codigo+".jpg")) { ?>
		document.images['Foto_Lineas'].src="../../public/Fotos/Lineas/"+codigo+".jpg";
		<? } 
		else { ?>
		document.images['Foto_Lineas'].src="../../Public/Fotos/imagen_no.jpg";
		<? } ?>
}
Alguna idea de como puedo solucionarlo?

Gracias!!!
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #2 (permalink)  
Antiguo 18/11/2004, 08:27
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola Enea.

En principio, JavaScript no te va a ofrecer mayores ventajas sobre ese punto.

JavaScript fué diseñado para ofrecer una interacción mínima con el equipo del cliente. Esto por razones de seguridad.

Imagínate lo que sería la web si con solo hacer que tu vieras mi página, yo pudiera leer lo que tu tienes en tu equipo...

HTML - JavaScript y CSS son en ese sentido muy "respetuosos" del equipo del cliente.

Saludos.
  #3 (permalink)  
Antiguo 18/11/2004, 09:16
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Creo que no me has entendido...
Yo no quiero ver nada del usuario, yo quiero saber si en el servidor existe la foto a la que se refiere el artículo y si no esta mostrar una imagen de sustitución, en php se seguro que se puede hacer y es usando el file_exists que os he puesto, mi unico problema es que no se como pasarle la variable codigo al php de dentro de la función javascript...
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #4 (permalink)  
Antiguo 18/11/2004, 09:25
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Ok Enea, ahora entiendo.

Yo lo que haría es realizar la consulta en PHP como bien sabes hacerlo y luego alterar mi función JavaScript (con PHP) antes de despacharla.

Te repito algo, una vez que la página llega al usuario final (cliente) ya no puede ver nada en el servidor. Eso quedó atrás, por lo tanto no puedes ver nada en el equipo local con JavaScript (por seguridad) ni en el equipo servidor (porque ya no esta alcanzable).

La salida es "alterar" tus funciones JavaScript antes de despachar la página, dependiendo de una consulta en PHP que ya sabes hacer.



Bueno, acabo de leerme tu función y veo que estoy hablando mas de la cuenta. Igual dejo lo que he escrito porque podría ser de provecho para alguien.

Espera unos segundos y te propongo algo de acuerdo a tu función.

Saludos.
  #5 (permalink)  
Antiguo 18/11/2004, 09:33
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Fíjate en lo siguiente:

Cuando estes en el servidor, ya podrás saber si la imagen existe o no, por lo tanto tu función JavaScript podría hacer una de estas dos cosas:

Opción 1 (la imagen existe):

Código PHP:
function Cambiar_imagen(codigo){
 
document.images['Foto_Lineas'].src '../../public/Fotos/Lineas/' codigo '.jpg';

Opción 2 (la imagen No existe):

Código PHP:
function Cambiar_imagen(codigo){
 
document.images['Foto_Lineas'].src '../../Public/Fotos/imagen_no.jpg';

Como la función la vas a mandar ya escrita desde el servidor (y asumiendo que en PHP tienes una variable equivalente a codigo a la que llamaré $codigo) entonces tu función quedaría asi:


Código PHP:
function Cambiar_imagen(){
<?
 
if (file_exists("../../public/Fotos/Lineas/" $codigo ".jpg"))
  echo 
"document.images['Foto_Lineas'].src = '../../public/Fotos/Lineas/" $codigo ".jpg';";
 else
  echo 
"document.images['Foto_Lineas'].src = '../../Public/Fotos/imagen_no.jpg';";
 
?>
}
Dime si es eso lo que quieres o no, y de ser no tu respuesta, seguiremos haciendo propuestas.

Saludos.
  #6 (permalink)  
Antiguo 18/11/2004, 09:36
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Pues estoy dando muestras inequívocas de sueño.

Requeteleyendo lo que escribiste inicialmente me doy cuenta de que no ha prestado suficiente atención.

Tu lo que quieres es que dinámicamente se cargue una imagen y si no existe se cargue otra.

Déjame ver si consigo algo...

Disculpa tanta desatención en mi lectura.

Saludos.
  #7 (permalink)  
Antiguo 18/11/2004, 09:44
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Pues sí te estas liando si.. Madre mia... XD
A ver, yo esto que te comento lo he hecho otras veces y me ha funcionado perfectamente (pero nunca por eventos javascript),
mi único problema es que no sé como relacionar la variable javascript con el php (todo esto dentro de la función)... solo quiero integrar la variable codigo
dentro de ese codigo php que he puesto yo.. entiendes?

Muchas gracias, y siento si yo con tanta palabreria al principio te he liado :(
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #8 (permalink)  
Antiguo 18/11/2004, 09:54
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Si Enea, ahora te entiendo, pero la solución no esta en poner a hablar a JavasCript y PHP porque cuando estes manipulando el select, es decir, en el equipo del cliente, no hay modo de ejecutar ningún comando PHP ya que este se ejecuta SOLO en el servidor y SOLO antes de despachar la página.

Yo estoy buscando a ver si consigo un método indirecto como por ejemplo preguntar con JavaScript si la imagen que has cargado es nula (pues no hay modo de preguntarle si el archivo físico existe o no) o si por ejemplo puedes poner una capa con la imagen por defecto y luego superponer otra capa con la otra imagen bajo alguna condición o algo asi.

Te repito:

No es posible indagar luego de que tu usuario manipule el select, si ese archivo existe o no en el servidor, hay que llegarle por métodos indirectos.

Vamos a ver si yo consigo algo o si alguien se le ocurre algo antes.

Saludos.
  #9 (permalink)  
Antiguo 18/11/2004, 10:05
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hasta ahora solo he conseguido esta discusión...

...sigo buscando...
  #10 (permalink)  
Antiguo 18/11/2004, 10:06
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Aqui esta la respuesta:

http://www.forosdelweb.com/showthrea...=imagen+existe

Pruébalo y me dices...

Saludos.
  #11 (permalink)  
Antiguo 18/11/2004, 10:23
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Pues si funciona si, como me complicaba yo la vida... XD
Muchas gracias por la ayuda de verdad!
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #12 (permalink)  
Antiguo 18/11/2004, 10:26
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Pues me alegra mucho salir de este hilo. Ya me estaba dando verguenza hacer de este tema un record de respuestas solo por no leer bien.

Saludos y mucha suerte.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:56.