ok credo di aver capito dove sta il problema... ma non so dove risolvere
In pratica nel codice originale il jpg è create con imagecreatefromjpeg() mentre nel mio lo prendo direttamente da database.
Ho provato a crearlo dal imagecreatefromjpg già dall'inizio con
ma così facendo non lo crea propriocodice:$data1=imagecreatefromjpeg($_FILES["file1"]["tmp_name"]);