J'ai un script php que j'utilise pour convertir une image téléchargée en moitié c'est qualité afin que je puisse économiser de l'espace sur le serveur, mais ça ne marche pas Je suis nouveau sur PHP alors j'espère aide-moi là où je vais mal.php png qualité d'image 50%
if(isset($_FILES['t1']['name'])){
$file = rand(0, 10000000).$_FILES['t1']['name'];
if (move_uploaded_file($_FILES['t1']['tmp_name'], $file)) {
if($fp = fopen($file,"rb", 0))
{
$picture = fread($fp,filesize($file));
fclose($fp);
$img = imagecreatefrompng($file);
imagepng($img, $file, 6); //6 quality setting
imagedestroy($img);
$tag1 = '<img src="'.$file.'" alt="" class="default" />';
//unlink($file);
echo "<script>$(document).ready(function() {var write = $('.item:nth-child(1)').html();localStorage.item1Pantry = write;});</script>";
}
}
}
+1 Pour raison de sécurité! –
Existe-t-il un moyen de forcer les utilisateurs à télécharger des fichiers PNG? – Blynn
@Blynn, Non. Tout ce que vous pouvez faire est de détecter plus tard le type de fichier côté serveur (en examinant réellement les données du fichier, pas seulement en regardant l'extension!). Même alors, il y a eu des vulnérabilités connues dans les bibliothèques d'images dans le passé. Nommez vos fichiers dans l'ordre des numéros séquentiels ou quelque chose, sans extensions de nom de fichier, en dehors de la racine du document Web. Servez-les avec un script PHP qui récupère les données du fichier à partir d'une base de données. Ensuite, vous pouvez même les retourner avec un nom de fichier suggéré avec ce que l'utilisateur avait à l'origine si vous le souhaitez, tout en empêchant l'exécution côté serveur. – Brad