求怎样解决fsockopen函数,错误
<?//获取文件大小function remote_filesize($url_file){ if (!remote_file_exists($url_file)) return false; $headInf = get_headers($url_file,1); return $headInf['Content-Length'];}//判断文件是否存在function remote_file_exists($url_file){ $url_file = trim($url_file); if (empty($url_file)) return false; $url_arr = parse_url($url_file); if (!is_array($url_arr) || empty($url_arr)) return false; $host = $url_arr['host']; $path = $url_arr['path'] ."?".@$url_arr['query']; $port = isset($url_arr['port']) ?$url_arr['port'] : "80"; $fp = fsockopen($host, $port, $err_no, $err_str,30); if (!$fp) return false; $request_str = "GET ".$path." HTTP/1.1\r\n"; $request_str .= "Host:".$host."\r\n"; $request_str .= "Connection:Close\r\n\r\n"; fwrite($fp,$request_str); //fread replace fgets $first_header = fread($fp, 128); fclose($fp); if (trim($first_header) == "") return false; //check $url_file "Content-Location" if (!preg_match("/200/", $first_header) || preg_match("/Location:/", $first_header)) return false; return true;}echo remote_filesize("http://wlm212.bjphp1.qq1.cc/down/ee.exe");?>
这个是我在网上找的,取远程文件大小的例子。
如果域名正常,文件存在就返回文件大小,
如果域名正常,文件不存在,就返回false。
现在问题出现了,如果域名不正常,就像上面这个地址,域名解析不了,也就是无法访问。这个时候会输出错误信息。
php_network_getaddresses: getaddrinfo failed: 不知道这样的主机。 in D:\PHPnow-1.5.6\htdocs\webadmin\inc\filesize.php on line 15
怎样能把这个错误信息去掉呢,在不修改web服务器配置的情况下,只在代码里面解决。
因为我要用ajax,取文件大小信息。所以不能报错,一报错,javascript获取的返回值,就是错误信息了,这个就导致前台无法运行了。
有会的吗,指点一下小弟。
回复讨论(解决方案)
try
{
$fp = fsockopen($host, $port, $err_no, $err_str,30);
}catch(Exception $e)
{
}
加了个异常处理,还是不管用。
$fp = @fsockopen($host, $port, $err_no, $err_str,30);
屏蔽掉错误信息(这个函数在异常处理之前出生)

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Si vous rencontrez un message d'erreur lors de l'utilisation de votre imprimante, tel que l'opération n'a pas pu être terminée (erreur 0x00000771), cela peut être dû au fait que l'imprimante a été déconnectée. Dans ce cas, vous pouvez résoudre le problème grâce aux méthodes suivantes. Dans cet article, nous verrons comment résoudre ce problème sur un PC Windows 11/10. Le message d'erreur complet indique : L'opération n'a pas pu être terminée (erreur 0x0000771). L'imprimante spécifiée a été supprimée. Correction de l'erreur d'imprimante 0x00000771 sur un PC Windows Pour corriger l'erreur d'imprimante, l'opération n'a pas pu être terminée (erreur 0x0000771), l'imprimante spécifiée a été supprimée sur un PC Windows 11/10, suivez cette solution : Redémarrez le spool d'impression

Windows Sandbox se termine-t-il avec Windows Sandbox impossible à démarrer, erreur 0x80070005, message Accès refusé ? Certains utilisateurs ont signalé que Windows Sandbox ne pouvait pas être ouvert. Si vous rencontrez également cette erreur, vous pouvez suivre ce guide pour la corriger. Windows Sandbox ne parvient pas à démarrer - Accès refusé Si Windows Sandbox se termine avec Windows Sandbox Impossible de démarrer, erreur 0x80070005, message Accès refusé, assurez-vous que vous êtes connecté en tant qu'administrateur. Ce type d'erreur est généralement dû à des autorisations insuffisantes. Essayez donc de vous connecter en tant qu'administrateur et voyez si cela résout le problème. Si le problème persiste, vous pouvez essayer les solutions suivantes : Exécutez le Wi-Fi en tant qu'administrateur

Décryptage du code d'état HTTP 460 : pourquoi cette erreur se produit-elle ? Introduction : Lors de l'utilisation quotidienne du réseau, nous rencontrons souvent diverses invites d'erreur, notamment des codes d'état HTTP. Ces codes d'état sont un mécanisme défini par le protocole HTTP pour indiquer le traitement d'une requête. Parmi ces codes d’état, il existe un code d’erreur relativement rare, à savoir le 460. Cet article examinera ce code d'erreur et expliquera pourquoi cette erreur se produit. Définition du code d'état HTTP 460 : Tout d'abord, nous devons comprendre les bases du code d'état HTTP

Table des matières Solution 1 Solution 21. Supprimez les fichiers temporaires de Windows Update 2. Réparez les fichiers système endommagés 3. Afficher et modifier les entrées de registre 4. Éteignez la carte réseau IPv6 5. Exécutez l'outil WindowsUpdateTroubleshooter pour réparer 6. Éteignez le pare-feu et autres logiciels antivirus associés. 7. Fermez le service WidowsUpdate. Solution 3 Solution 4 Une erreur « 0x8024401c » se produit lors de la mise à jour de Windows sur les ordinateurs Huawei Symptôme Problème Cause Solution Toujours pas résolu ? Récemment, le serveur Web a dû être mis à jour en raison de vulnérabilités du système. Après la connexion au serveur, la mise à jour affiche le code d'erreur 0x8024401c.

Lorsque de nombreux amis allument l'ordinateur pour se connecter au haut débit, l'ordinateur affiche l'erreur 651. Quelle est la situation ? L'apparition de 651 est causée par l'échec de la connexion entre l'ordinateur terminal de l'utilisateur et l'équipement du bureau central de China Netcom. Il peut s'agir d'une déconnexion externe ou d'un problème avec l'équipement, nous pouvons contacter l'opérateur pour le résoudre, ou jeter un œil au tutoriel spécifique. Méthode détaillée du didacticiel pour résoudre le problème de connexion haut débit de l'ordinateur. Erreur 651 1 : échec du pilote de la carte réseau 1. Considérez d'abord le problème du pilote de la carte réseau. Ce problème est relativement courant. Cliquez avec le bouton droit sur l'ordinateur de bureau - Gérer, comme indiqué dans la figure ci-dessous. 2. Sélectionnez "Gestion des périphériques" sur la page des propriétés de l'ordinateur "pour entrer. 3. Recherchez « Adaptateur réseau » sur la page Gestionnaire de périphériques. Il existe généralement deux cartes réseau, une filaire et une sans fil.

AutoCAD est l'un des logiciels de conception de dessins les plus couramment utilisés, mais lorsque nous souhaitons l'utiliser sur Win11, nous pouvons rencontrer une erreur lors de l'installation d'AutoCAD sur Win11. À ce stade, nous pouvons essayer de modifier le registre pour le résoudre. Une erreur s'est produite lors de l'installation d'autocad dans win11 : Première étape, appuyez sur "win logo + r" sur le clavier pour ouvrir l'exécution. Dans la deuxième étape, saisissez « regedit » et appuyez sur Entrée pour ouvrir le registre. 3. Collez « Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System » dans le chemin ci-dessus. 4. Après avoir entré, double-cliquez

Si vous rencontrez le code d'erreur 0x80070003 lors de l'utilisation d'Hyper-V pour créer ou démarrer une machine virtuelle, cela peut être dû à des problèmes d'autorisation, à une corruption de fichier ou à des erreurs de configuration. Les solutions incluent la vérification des autorisations des fichiers, la réparation des fichiers endommagés, la garantie d'une configuration correcte, etc. Ce problème peut être résolu en excluant les différentes possibilités une à une. L'intégralité du message d'erreur ressemble à ceci : Le serveur a rencontré une erreur lors de la création de [nom de la machine virtuelle]. Impossible de créer une nouvelle machine virtuelle. Impossible d'accéder au magasin de configuration : le système ne trouve pas le chemin spécifié. (0x80070003). Certaines causes possibles de cette erreur incluent : Le fichier de la machine virtuelle est corrompu. Cela peut se produire en raison d’attaques de logiciels malveillants, de virus ou de logiciels publicitaires. Même si la probabilité que cela se produise soit faible, vous ne pouvez pas complètement

Conseils pratiques pour résoudre rapidement les erreurs Tomcat404 Tomcat est un serveur d'applications JavaWeb couramment utilisé et est souvent utilisé lors du développement et du déploiement d'applications JavaWeb. Cependant, nous pouvons parfois rencontrer une erreur 404 de la part de Tomcat, ce qui signifie que Tomcat ne trouve pas la ressource demandée. Cette erreur peut être causée par plusieurs facteurs, mais dans cet article, nous aborderons quelques solutions et conseils courants pour vous aider à résoudre rapidement les erreurs Tomcat 404. Vérifier le chemin de l'URL
