Lorsque vous utilisez PHP pour télécharger des fichiers, vous pouvez parfois rencontrer le problème de ne pas pouvoir obtenir la taille du fichier. Ce problème peut survenir pour les raisons suivantes :
Alors comment résoudre ce problème ? Voici quelques solutions pour référence :
$url = 'http://example.com/file.zip'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $data = curl_exec($ch); $fileSize = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); curl_close($ch);
$url = 'http://example.com/file.zip'; $opts = array( 'http' => array( 'method' => 'HEAD' ) ); $context = stream_context_create($opts); $fp = fopen($url, 'r', false, $context); $meta = stream_get_meta_data($fp); foreach ($meta['wrapper_data'] as $value) { if (stristr($value, 'content-length')) { $content_length = (int) trim(substr($value, 15)); } } fclose($fp);
En résumé, pour résoudre le problème de PHP qui ne peut pas obtenir la taille du fichier lors du téléchargement de fichiers. , vous pouvez utiliser CURL ou directement Obtenir l'en-tête de réponse du serveur pour obtenir la taille du fichier. Ces méthodes peuvent aider les développeurs PHP à mieux gérer et contrôler le processus de téléchargement de fichiers, améliorant ainsi l'expérience utilisateur et les performances des applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!