Un clásico problema de una aplicación web es el almacenamiento de archivos subidos por los usuarios (Sus fotos por ejemplo).
Si bien teóricamente se puede realizar sin mayores inconvenientes (Al fin y al cabo, un archivo digital no es más que una colección de datos binarios), es sumamente ineficiente hacerlo.
Veamos cómo sería esto:
Primero que nada, habría que manejar de alguna forma el upload de archivos, pero, asumiendo que el archivo ya está disponible para php se podría pensar en almacenarlo dentro de la base de datos utilizando algún campo tipo BLOB.
Un problema inmediato que surge de tomar esta opción es que la base de datos crecerá mucho si el sistema es muy utilizado, lo cual impactará negativamente en su rendimiento, hará más costozos los backups, etc…
Una alternativa simple es guardar, en lugar del contenido del archivo, su localización (Puede ser la ruta al archivo, si está guardado en algún medio de almacenamiento, ya sea el disco local o alguno externo, como S3 por ejemplo).
De esa forma se logra aislar a la base de datos del manejo de información que, por otro lado, tampoco será sencilla de consultar y, a la vez, permite aprovechar capacidades del medio de almacenamiento elegido (Incluso hace mucho más simple la introducción de alguna capa de caché como ser un CDN).
Si lo que buscas es realizar búsquedas dentro del contenido de archivos de texto, lo mejor que puedes hacer es usar alguna otra herramienta como Solr, ElasticSearch o Sphinx (Por nombrar sólo algunos).
Si, de cualquier forma decides guardar el contenido del archivo directo en la base de datos, te recomiendo guardarlo con alguna forma de codificación que prevenga problemas con los caracteres especiales (acentos, eñes, etc…), por ejemplo base64 o algún formato comprimido (Zip por ejemplo).
En general diría que los datos que se almacenan en la base deberían ser (al menos en su gran mayoría) de naturaleza dinámica (Es decir, que pueden cambiar a lo largo del tiempo). Aquellos datos que permanecerán estáticos probablemente tengan un mejor lugar donde residir.
Por último, ¿pensaste en cómo mostrarías la foto si lo que está guardado en la base es el contenido del archivo en lugar de su ruta?.
En el caso de que tomes mi sugerencia es bien fácil, basta con algo como:
<img src="<?php echo $usuario['foto']; ?>"/>
Si en cambio lo que está guardado en la base es el contenido del archivo… no es que sea imposible, claro, pero seguro que es algo más complicado (Tal vez tengas que hacer un script que devuelva los datos binarios de la foto o algo así)… ¿para qué hacer las cosas más difíciles de lo que debe ser?

¿Te quedó alguna duda? Publica aca tu pregunta