L'API Google Chart peut créer un QR pour vous. mais vous avez besoin de quelques conversions et il faut rester sur les bases si vous voulez une réponse précise de l'API
je vois que vous enregistrez la réponse dans $file peut-être une raison pour enregistrer le nom dans la base de données.
alors pourquoi ne pas le faire comme ça
$path = $folder_path.$file;
//Remarque : vous devez fournir le chemin du serveur ; pas l'URL
mais attendez... vous créez un code QR pour une chaîne disant "Hello World", il y a un espace vide dans la chaîne et vous passez cette chaîne avec la méthode get dans l'URL donc vous avez besoin de l'encodage d'URL pour encoder les espaces en "%20" et ainsi de suite... pour un passage d'URL correct.
ajouter ceci résoudra le problème
$my_qr_string = urlencode("Hello World");
une autre chose que vous oubliez est le support des caractères pour le QR
essayez d'utiliser l'encodage de caractères "UTF-8" pour éviter tout problème.
pour le téléchargement, utilisez la méthode file_put_contents() pour un téléchargement assuré
en fin de compte, vous avez
file_put_contents($path, file_get_contents('https://chart.googleapis.com/chart?cht=qr&chs=177x177&choe=UTF-8&chl='.$my_qr_string));