Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/04/2009, 08:18
Lemuriano
 
Fecha de Ingreso: abril-2009
Mensajes: 35
Antigüedad: 15 años
Puntos: 1
Respuesta: Hacer que si un archivo existe ponga el link a este y sino no

Ok amigo Adell, poco a poco nos vamos acercando. Te pago aca la ultima version del codigo:

Código PHP:
<? 
    $number 
str_pad($gal3"0"STR_PAD_LEFT) ;
    
$endfile ".rar" ;
    
$endfile2 "_hi_res.rar" ;
    
$filename "PHOTOS/".$number."/zips/".$number.$endfile ;
    
$filename2 "PHOTOS/".$number."/zips/".$number.$endfile2 
    
$noexist "NO FILE"
    
?>

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><div align="center"><img src="images/line.png" width="500" height="25" /></div></td>
  </tr>
</table>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#CFEBEF">
  <tr>
    <td width="80" rowspan="2"><div align="center">
    <? 
    
if (file_exists($filename)) {
        print 
'<a href=$filename><img src="images/zip.jpg" width="73" height="60"></div></td>' ;
        }
    else { print 
'<img src="images/zip.jpg" width="73" height="60"></div></td>' 
    } 
?>
    <td width="200" height="30" valign="bottom"><div align="left" class="Estilo3">Download Full Photoset</div></td>
    <td width="200" height="30" valign="bottom"><div align="right" class="Estilo3">Download Full Photoset</div></td>
    <td width="80" rowspan="2"><div align="center">
    <? 
    
if (file_exists($filename2)) {
        print 
'<a href=$filename2><img src="images/zip.jpg" width="73" height="60"></div></td>' ;
        }
    else { print 
'<img src="images/zip.jpg" width="73" height="60"></div></td>' 
    } 
?>
  </tr>
  <tr>
    <td width="200" height="30" valign="top"><div align="left" class="Estilo3">Lo-Res (1024x768)</div></td>
    <td width="200" height="30" valign="top"><div align="right" class="Estilo3">Hi-Res (2560x1920)</div></td>
  </tr>
  <tr>
    <td width="80"><div align="center">
    <? 
    
if (file_exists($filename)) {
        print  
round(filesize($filename) / 1000000) . " Mb" ;
        }
    else { print 
$noexist 
    } 
?>
  </div></td>
    <td height="30" valign="top">&nbsp;</td>
    <td height="30" valign="top">&nbsp;</td>
    <td width="80"><div align="center">
    <? 
    
if (file_exists($filename2)) {
        print  
round(filesize($filename2) / 1000000) . " Mb" ;
        }
    else { print 
$noexist 
    } 
?>
  </div></td>
  </tr>
</table>
Te cuento. Ahora todo funciona como esperaba que funcionara. En la primer parte verifica si el archivo existe, si existe pone el link al archivo y si no existe no hay ningun link. En la segunda parte hace la misma verificacion, si el archivo existe imprime su tamaño en Mb, y si no existe imprime "NO FILE".

Lo unico que esta mal es lo siguiente: el link que imprime no es correcto, el mismo es como sigue:

"ruta relativa al documento/$filename"
ó
"ruta relativa al documento/$filename2"

cuando deberia ser:

"ruta relativa al documento/PHOTOS/001/zips/001.rar"
ó
"ruta relativa al documento/PHOTOS/001/zips/001_hi_res.rar"

Estoy seguro que se trata de un error de sintaxis, pero he probado diferentes formas de combinar comillas simples y dobles si¿n haber podido solucionarlo. Es mas interpreto que el error de sintaxis se encentra dentro de <a href= > ya que el link se imprime o no segun corresponda, solo que en lugar de arrojar el valor correspondiente arroja el nombre de la variable.

Espero me ilumines un poco mas el camino, y prometo hacer un curso de PHP en cuanto pueda

Desde ya muchas gracias por toda tu ayuda.

Marcelo.