Funziona perfettamente.. header, con l'h minuscola 
Però ho un piccolo problemino con il mio script:
user.php
codice:
<?php
require 'includes/dbconn.php';
$conn = new mySqlConnect();
$conn->connect();
$conn->selectdb();
if(isset($_GET['ref'])){
switch($_GET['ref']){
case 'avatar':
if(isset($_GET['id'])){
if(is_numeric($_GET['id'])){
$id = $_GET['id'];
}
else{
echo "Invalid File";
exit();
}
if(isset($_GET['thumb'])){
$sql="SELECT thumb,type FROM usersimg WHERE user_id = '$id' AND avatar = 1";
$type = "thumb";
}
else{
$sql="SELECT full,type FROM usersimg WHERE user_id = '$id' AND avatar = 1";
$type = "full";
}
$result = mysql_query($sql, $conn->connect());
if(!$result){
echo "Invalid File";
}
else{
$row = mysql_fetch_object($result);
if($type == "thumb"){
$img = $row->thumb;
}
else{
$img = $row->full;
}
$url = "usersimg/$img";
header("Content-Type: $row->type");
readfile($url);
}
}
else{
echo "Invalid File";
exit();
}
break;
}
}
?>
Se per esempio cerco di visualizzare l'immagine di in ID che non esiste nel DB mi escono dei warning. Però diversi da quelli soliti di php.
Ma il punto non sono i Warning, i warning li da perchè non trova l'immagine vera e propria, però nello script c'è la condizione che se la query sql non restituisce nessun risultato, mostra 'Invalid File' e basta.
Mentre fa il contrario, è come se quell' IF non esistesse e cerca di visualizzare l'immagine.
La parte interessata è:
codice:
$result = mysql_query($sql, $conn->connect());
if(!$result){
echo "Invalid File";
}
else{
....
....
}