Se puede.
Si lo que pretendes es que mediante un formulario los usuarios envían sus fotos a una carpeta de destino que tienes puesta en el servidor esta es la fórmula:
FORMULARIO:
Código PHP:
# Imprescindible que sea multipart/form-data
<form action="xxx.php" method="post" enctype="multipart/form-data">
# Para no liarte llama al campo "archivo" o modificalo aqui y en proceso de guardado
<input name="archivo" type="file">
</form>
PROCESAR FOTO:
Código PHP:
$extension = explode(".",$archivo_name);
$num = count($extension)-1;
# Comprobamos que la imagen sea .jpg (modificable)
if($extension[$num] != "jpg") {
echo "el formato de archivo no es valido, solo .jpg"; }
#comprobamos que no pese más de 30 KB (modificable)
elseif($archivo_size > 30000) {
echo "el archivo supera los 30kb"; }
#fundamental: debes indicar en qué carpeta s deben guardar las imágenes. Mucho cuidado con no equivocarte de carpeta.
elseif(!copy($archivo, "../fotos/$id_foto.".$extension[$num])) {
echo "error al copiar el archivo"; }
else {
header("Location: conseguido.php");
Y ya está.
Si lo que buscas es meter la foto en código binario en tu DB, Cluster posteó la solución en las FAQS de PHP.
Suerte