New question

Question:

Date: 22-10-2015 10:50:22 (In Spanish)

¿Como saber si una imagen esta dañada?[Resolved]

Hola gente,
quisiera saber si hay algna forma de que el sistema verifique una imagen si no se muestra o no existe y la remplace con otra para que no muestre ese cuadrito blanco de hoja rota XD
Tags: HTML - Javascript - JPG - JQuery - MySQL - PHP - Plugin - PNG - Question - Web Votes: 0 - Answers: 8 - Views: 15 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 22-10-2015 12:48:01 Y no.

    Hasta donde yo sé, la etiqueta alt reemplazaría la imagen por un texto.

    Si el enlace está roto o la imagen no existe (o está dañada) no aparecerá.
      Votes: -1 - Link answer
     
  • Date: 22-10-2015 13:56:28 Yo se que existen formas pero no se cuales la he visto en varias partes creo que hasta en la propia comunidad   Votes: 0 - Link answer
     
  • Date: 22-10-2015 14:24:55 Hola edinson

    lo que puedes esa hacer lo siguiente mediante la funcion 'getimagesize' puedes obtener la informacion
    de la imagen como ancho,alto,bits,channels,mime

    dejo el array mostrando la informacion de la imagen

    es lo que retorna la funcion "getimagesize"

    Array
    (
        [0] => 1024   /* ancho */
        [1] => 768  /* alto */
        [2] => 2
        [3] => width="1024" height="768"
        [bits] => 8
        [channels] => 3
        [mime] => image/jpeg
    )
    



    conociendo esto podemos hacer lo siguiente dejo codigo validando si es que tiene ancho.

    Basta q no tenga ancho, en pocas palabra la imagen esta dañada.

    
    
    
    <?php 
    
    $ruta = 'images/Jellyfish.jpg';  /* cambia por la ruta de tu imagen */
    
    $informacion = getimagesize($ruta);
    
     if(!empty($informacion[0]) || $informacion[0]!='null'){
     	echo "esta bien";
     }else{
     	echo "dañada";
     }
    
     ?>
    
    


    saludo!!
      Votes: 5 - Link answer
     
  • Date: 22-10-2015 15:36:27 gracias dejare la pregunta abierta si hay otras maneras   Votes: 0 - Link answer
     
  • Date: 24-10-2015 10:06:41 Artzain creo que alt pone el texto en caso de que el internet sea excaso ejemplo lento o no tengas internet no se si haigas creado paginas supongo que cuando las cargas y las imagenes son de sitios web y no de tu computadora y no tienes internet pasa esto se visualizan los valores que le pusistes a los atributos alt igual si el internet es escaso repito :P n.n y ElCapa8 recuerda usar tecnologias como javascript o jquery par lograr a veces lo que quieres no siempre es php o java , asp.net ect ect aqui te va el codigo:

    <script type="text/javascript">
    // Script para sustituir imágenes rotas
    function Imagencheck(img) {
    if (!img.complete) return false;
    if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) return false;
    return true;
    }
    function RevisarImagenesRotas() {
    var replacementImg = "https://lh4.googleusercontent.com/-3UgRMogbe88/TgVOkNvmg4I/AAAAAAAABhE/AGffCXH_sMk/no-imagen.png";
    for(var i = 0; i < document.images.length; i++) {
    if(!Imagencheck(document.images[i])) {
    document.images[i].src = replacementImg;
    }
    }
    }
    window.addEventListener("load", RevisarImagenesRotas);
    	</script>
    


    aqui el codigo completo:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Cambiar Imagenes xD</title>
    <script type="text/javascript">
    // Script para sustituir imágenes rotas
    function Imagencheck(img) {
    if (!img.complete) return false;
    if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) return false;
    return true;
    }
    function RevisarImagenesRotas() {
    var replacementImg = "https://lh4.googleusercontent.com/-3UgRMogbe88/TgVOkNvmg4I/AAAAAAAABhE/AGffCXH_sMk/no-imagen.png";
    for(var i = 0; i < document.images.length; i++) {
    if(!Imagencheck(document.images[i])) {
    document.images[i].src = replacementImg;
    }
    }
    }
    window.addEventListener("load", RevisarImagenesRotas);
    	</script>
    </head>
    <body>
    	<img src="http://www.w3.org/html/logo/badge/html5-badge-h-device-performance.png" />
    	<img src="http://www.w3.org/html/logo/badge/html5-badge-h-device-performance.pn" />
    </body>
    </html>
    


    se te olvida que javascript usa cosas como document.links o document.images y usando un cliclo for o while para recorrerlos seria lo esencial n.n tambien otra cosa seria mejor si pudieras cargarlos con jquery con ready para que cargara mas rapido pero viendo que tienes que usar window en vez de document esto no quiere decir que no se pueda n.n solo que no tengo el tiempo :/ si no te lo hacia en fin espero a haberte ayudado n.n

    Pd: el codigo no es mio ya lo habia sacado antes de una web pero igual lo modfique un poco en fin hay varias maneras de hacerlo n.n

    Saludos ^^
      Votes: 5 - Link answer
     
  • Date: 24-10-2015 11:00:13 Chrismart:

    No me ayudas a mí sino a quien hizo la pregunta.

    Una imagen existe o no.
    Una imagen tiene un pixel dañado y no se reproduce en nuestra página.
    Podríamos también pensar en un enlace incorrecto.
    Podríamos codificarla y trabajar con ella en PHP. Los resultados serían los mismos: incompletas, mal guardadas o recogidas, ...

    La etiqueta alt es la mejor práctica que tenemos en HTML vs. PHP. Utilizar otros lenguajes no nos devolverán la imagen.
    La pregunta era si podemos sustituir la imagen por otra. Podría remitirte a un 404 diseñado

    La sinrazón viene de quienes "rechazan" las opiniones de terceros. Yo puedo no tener razón, pero aprendería algo si me la argumentan (y me refiero a los votos negativos, que paso de ellos cuando son anónimos y no argumentados). El voto negativo tendría que tener una cara y un argumento. Pero eso corresponde al criterio del foro

    Son "cosas que pasan"
      Votes: 2 - Link answer
     
  • Date: 24-10-2015 12:17:52 Gracias justo lo que buscaba te lo agradezco bno cambiare la pregunta a resuelta.
    y Artzain Haritz la respuesta no llevaba al caso por eso recibiste el voto negativo ya que queria que la rempazara con otra imagen no con texto.
    Salu2
      Votes: 1 - Link answer
     
  • Date: 24-10-2015 22:27:46 Artzain, calma OnO no tengo nada contra ti ni con siquiera fui yo el que te dio el voto negativo xD, en fin.   Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In