Es que si te fijas al re-adaptarlo con el php has cambiado unas comillas dobles a simples.
En el OnClick=" esta primera comilla la cambias a simple '
Si te fijas, el argumento que se le pasa a la función también va entre comillas simples.
En el script original queda comilla doble, comilla simple, se cierra comilla simple y se cierra comilla doble.
En cambio en la adaptación con el php la segunda comilla debe ser interpretada como cierre de la primera, con lo que se detiene ahí todo y no llega ni a llamar a la función ni al return false del final que es lo que evita que la imagen se cargue además en la propia ventana.
No sé si logré explicarme
echo "<a href='".$dbfile2."' onClick=
' esta comilla habría de ser dobleafoto('".$dbfile2."','Mi titulo');return false
' y ésta también> <img src='".$dbfile2."' width='140' height='80'></a><br>";
Usa el caracter de escape.
Algo así
echo "<a href=".$dbfile2."' onClick=
\ "afoto('".$dbfile2."','Mi titulo');return false
\ "> <img src='".$dbfile2."' width='140' height='80'></a><br>";
Puse separada la barra \ de la comilla porque si no el foro la omite. Simplemente vigila que la barra \ y la comilla doble estén juntas
De todas formas fíjate bien si no te sale (en explorer) un triangulito amarillo en la barra de status a la izquierda.
Si te sale hazle doble click y pídele "ver detalles"
Si usas netscape teclea
javascript: en la barra de direcciones y le das a enter
Y me cuentas