Inhaltsverzeichnis
回复讨论(解决方案)
Heim Backend-Entwicklung PHP-Tutorial 求怎样解决fsockopen函数,错误

求怎样解决fsockopen函数,错误

Jun 23, 2016 pm 02:13 PM

<?//获取文件大小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");?>
Nach dem Login kopieren


这个是我在网上找的,取远程文件大小的例子。
如果域名正常,文件存在就返回文件大小,
如果域名正常,文件不存在,就返回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);
屏蔽掉错误信息(这个函数在异常处理之前出生)

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Aufdecken der Ursachen des HTTP-Statuscodes 460 Aufdecken der Ursachen des HTTP-Statuscodes 460 Feb 19, 2024 pm 08:30 PM

Entschlüsselung des HTTP-Statuscodes 460: Warum tritt dieser Fehler auf? Einleitung: Im täglichen Netzwerkgebrauch stoßen wir häufig auf verschiedene Fehlermeldungen, einschließlich HTTP-Statuscodes. Diese Statuscodes sind ein vom HTTP-Protokoll definierter Mechanismus, der die Verarbeitung einer Anfrage anzeigt. Unter diesen Statuscodes gibt es einen relativ seltenen Fehlercode, nämlich 460. Dieser Artikel befasst sich mit diesem Fehlercode und erklärt, warum dieser Fehler auftritt. Definition des HTTP-Statuscodes 460: Zunächst müssen wir die Grundlagen des HTTP-Statuscodes verstehen

Der Vorgang konnte nicht abgeschlossen werden (Fehler 0x0000771). Druckerfehler Der Vorgang konnte nicht abgeschlossen werden (Fehler 0x0000771). Druckerfehler Mar 16, 2024 pm 03:50 PM

Wenn bei der Verwendung Ihres Druckers eine Fehlermeldung angezeigt wird, z. B. dass der Vorgang nicht abgeschlossen werden konnte (Fehler 0x00000771), liegt dies möglicherweise daran, dass die Verbindung zum Drucker getrennt wurde. In diesem Fall können Sie das Problem mit den folgenden Methoden lösen. In diesem Artikel besprechen wir, wie Sie dieses Problem auf einem Windows 11/10-PC beheben können. Die gesamte Fehlermeldung lautet: Der Vorgang konnte nicht abgeschlossen werden (Fehler 0x0000771). Der angegebene Drucker wurde gelöscht. Beheben Sie den Druckerfehler 0x00000771 auf einem Windows-PC. Um den Druckerfehler zu beheben, konnte der Vorgang nicht abgeschlossen werden (Fehler 0x0000771). Der angegebene Drucker wurde auf einem Windows 11/10-PC gelöscht. Befolgen Sie diese Lösung: Starten Sie die Druckspule neu

Der Start der Windows Sandbox ist fehlgeschlagen – Zugriff verweigert Der Start der Windows Sandbox ist fehlgeschlagen – Zugriff verweigert Feb 19, 2024 pm 01:00 PM

Wird Windows Sandbox mit der Meldung „Windows Sandbox kann nicht gestartet werden, Fehler 0x80070005, Zugriff verweigert“ beendet? Einige Benutzer berichteten, dass Windows Sandbox nicht geöffnet werden kann. Wenn dieser Fehler auch bei Ihnen auftritt, können Sie dieser Anleitung folgen, um ihn zu beheben. Windows Sandbox startet nicht – Zugriff verweigert Wenn Windows Sandbox mit der Meldung „Windows Sandbox kann nicht gestartet werden, Fehler 0x80070005, Zugriff verweigert“ beendet wird, stellen Sie sicher, dass Sie als Administrator angemeldet sind. Diese Art von Fehler wird normalerweise durch unzureichende Berechtigungen verursacht. Versuchen Sie also, sich als Administrator anzumelden, und prüfen Sie, ob das Problem dadurch behoben wird. Wenn das Problem weiterhin besteht, können Sie die folgenden Lösungen ausprobieren: Führen Sie das WLAN als Administrator aus

So beheben Sie den Computer-Breitbandverbindungsfehlercode 651 So beheben Sie den Computer-Breitbandverbindungsfehlercode 651 Dec 24, 2023 am 11:19 AM

Wenn viele Freunde den Computer einschalten, um eine Breitbandverbindung herzustellen, meldet der Computer den Fehler 651. Was ist die Ursache für das Auftreten von 651, wenn die Verbindung zwischen dem Terminalcomputer des Benutzers und der Zentrale von China Netcom fehlschlägt? Möglicherweise handelt es sich um eine externe Unterbrechung oder um ein Problem mit dem Gerät. Wir können uns an den Betreiber wenden, um das Problem zu lösen, oder einen Blick auf das spezifische Tutorial werfen. Detaillierte Tutorial-Methode zur Behebung des Computer-Breitbandverbindungsfehlers 651: Fehler des Netzwerkkartentreibers. 1. Betrachten Sie zunächst das Problem des Netzwerkkartentreibers. Dieses Problem tritt relativ häufig auf. Klicken Sie mit der rechten Maustaste auf den Desktop-Computer – Verwalten, wie in der Abbildung unten gezeigt Geben Sie auf der Seite „Geräteeigenschaften“ des Computers „Geräteverwaltung“ ein. 3. Suchen Sie auf der Seite „Geräte-Manager“ nach „Netzwerkadapter“. Normalerweise gibt es zwei Netzwerkkarten, eine kabelgebundene und eine kabellose.

Lösung für den Windows Update-Eingabeaufforderungsfehler 0x8024401c Lösung für den Windows Update-Eingabeaufforderungsfehler 0x8024401c Jun 08, 2024 pm 12:18 PM

Inhaltsverzeichnis Lösung 1 Lösung 21. Löschen Sie die temporären Dateien von Windows Update 2. Reparieren Sie beschädigte Systemdateien 3. Anzeigen und Ändern von Registrierungseinträgen 4. Schalten Sie die IPv6-Netzwerkkarte aus 5. Führen Sie das WindowsUpdateTroubleshooter-Tool zur Reparatur aus 6. Schalten Sie die Firewall aus und andere verwandte Antivirensoftware. 7. Schließen Sie den WidowsUpdate-Dienst. Lösung 3 Lösung 4 „0x8024401c“-Fehler tritt während des Windows-Updates auf Huawei-Computern auf Symptom Problem Ursache Lösung Immer noch nicht gelöst? Vor kurzem musste der Webserver aufgrund von Systemschwachstellen aktualisiert werden. Nach der Anmeldung am Server wird der Fehlercode 0x8024401c angezeigt

Beheben Sie die Fehler, die bei der Installation von Autocad in Win11 aufgetreten sind Beheben Sie die Fehler, die bei der Installation von Autocad in Win11 aufgetreten sind Dec 30, 2023 pm 03:23 PM

AutoCAD ist eine der am häufigsten verwendeten Zeichnungsentwurfssoftware. Wenn wir sie jedoch unter Win11 verwenden möchten, kann es bei der Installation von Autocad unter Win11 zu einem Fehler kommen. Zu diesem Zeitpunkt können wir versuchen, die Registrierung zu ändern, um das Problem zu beheben. Bei der Installation von Autocad in Win11 ist ein Fehler aufgetreten: Drücken Sie im ersten Schritt „Win-Logo + R“ auf der Tastatur, um den Lauf zu öffnen. Geben Sie im zweiten Schritt „regedit“ ein und drücken Sie die Eingabetaste, um die Registrierung zu öffnen. 3. Fügen Sie „Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System“ in den obigen Pfad ein. 4. Doppelklicken Sie nach der Eingabe

Fehlerbehebung bei Tomcat 404-Fehlern: Schnelle und praktische Tipps Fehlerbehebung bei Tomcat 404-Fehlern: Schnelle und praktische Tipps Dec 28, 2023 am 08:05 AM

Praktische Tipps zur schnellen Lösung von Tomcat404-Fehlern Tomcat ist ein häufig verwendeter JavaWeb-Anwendungsserver und wird häufig bei der Entwicklung und Bereitstellung von JavaWeb-Anwendungen verwendet. Manchmal kann es jedoch vorkommen, dass Tomcat einen 404-Fehler meldet, was bedeutet, dass Tomcat die angeforderte Ressource nicht finden kann. Dieser Fehler kann durch mehrere Faktoren verursacht werden, aber in diesem Artikel werden wir einige gängige Lösungen und Tipps behandeln, die Ihnen helfen, Tomcat 404-Fehler schnell zu beheben. Überprüfen Sie den URL-Pfad

Beim Erstellen einer neuen virtuellen Maschine ist auf dem Server der Fehler 0x80070003 aufgetreten. Beim Erstellen einer neuen virtuellen Maschine ist auf dem Server der Fehler 0x80070003 aufgetreten. Feb 19, 2024 pm 02:30 PM

Wenn Sie beim Erstellen oder Starten einer virtuellen Maschine mit Hyper-V auf den Fehlercode 0x80070003 stoßen, kann dies an Berechtigungsproblemen, Dateibeschädigungen oder Konfigurationsfehlern liegen. Zu den Lösungen gehören die Überprüfung von Dateiberechtigungen, die Reparatur beschädigter Dateien, die Sicherstellung der korrekten Konfiguration und mehr. Dieses Problem lässt sich lösen, indem man die verschiedenen Möglichkeiten nacheinander ausschließt. Die gesamte Fehlermeldung sieht folgendermaßen aus: Beim Erstellen von [Name der virtuellen Maschine] ist auf dem Server ein Fehler aufgetreten. Es kann keine neue virtuelle Maschine erstellt werden. Auf den Konfigurationsspeicher kann nicht zugegriffen werden: Das System kann den angegebenen Pfad nicht finden. (0x80070003). Zu den möglichen Ursachen für diesen Fehler gehören: Die Datei der virtuellen Maschine ist beschädigt. Dies kann aufgrund von Malware-, Viren- oder Adware-Angriffen passieren. Obwohl die Wahrscheinlichkeit, dass dies geschieht, gering ist, können Sie dies nicht vollständig tun

See all articles