Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP filesize

Empfohlene Antworten

hallo

ich habe folgendes script:

<?

$filename = "http://www.home.de/";

$fd = fopen ($filename, "r");

$contents = fread ($fd, 1000);

fclose ($fd);

echo "$contents\n<!-- ende --!>";

?>

läuft auch recht gut nur mit der ausnahme das der browser (IE 6) nicht mehr mit den laden der seite aufhört.

habs mal mit

$contents = fread ($fd, filesize($filename));

probiert aber da kommt erst recht keine ausgabe als ob der filesize net kennt hab php4 und keine fehlermeldung kam.

wie kann ich nun die dateigröße rausbekommen ?

damit der browser sich nicht totquält beim laden ....

Paul

Hi,

filesize() funktioniert nur auf lokalen Dateien.

Du kannst entweder ueber $content=implode('',file($url)); gehen oder wenn du fopen benutzen willst indem du sowas benutzt:


$fp=fopen($url,"r");
$content="";
while (!feof($fp))
{
$content.=fread($fp,255);
}
echo $content;
[/PHP]

das sollte eigentlich gehen..

"haengt" der browser dabei, ist irgendwo anders vermutlich der wurm drin, oder der server brauch zu lange um die url zu oeffnen.

Michael

jo dank dir

geht recht jut

kann man den puffer der per fread gelesen wird auch dynamisch setzen (also evtl. mehr als 255 Zeichen ?)

kann ja sein das eine zeile im html code länger als 255 zeichen ist

oder liest der von anfang bis ende nur 255 zeichen und beginnt beim nächsten fread beim 256 zeichen ?

ich kenne fread von c programmierung her und da liest diese funktion immer nur eine zeile aus ?

Paul

jetzt weis ich warum der nicht aufgehört hat zu laden, der hat immer wieder ne GET anweisung ausfühen wollen.

nun aber zu dem problem das ich jetzt habe.

ich kann zwar jetzt eine datei runterladen und wieder auf den browser ausgeben - wie nen proxy.

aber wie mache ich es das ich den string den ich ausgelesen habe auf eine weitere URL kontrolliert bzw. durchsucht.

sollte ich dazu alle gedownloadedten dateien in ein verzeichnis speichern und dan nacheinander in den browser ausgeben ?

<html><head>

<script language="JavaScript">

function winopen()

{

var URL="http://websearch.myip.org/main.html";

WebSearchMainFrame = window.open("",'x','fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0');

window.focus();

WebSearchMainFrame.location=URL;

WebSearchMainFrame.focus();

}

</script>

<title>WebSearch.MyIP.org</title>

</head>

<body bgcolor="#c0c0c0" onload="winopen()">

<b><a href="http://www.web.de">www.web.de</a></b>

</body>

</html>

Paul

und ein problem hab ich noch,

wenn ich

$url = "http://www.web.de/";

$fd=fopen($url,"r");

öffnen will mit den deinen code kommt ne fehler meldung

Warning: fopen("http://www.web.de/index.html","r") - Invalid argument in g:\htdocs\web\_index.php on line 10

Warning: Supplied argument is not a valid File-Handle resource in g:\htdocs\web\_index.php on line 12

gehn den nicht alle webseiten zu öffnen ?

Paul

Hi,

also soweit ich weiss kuemmert sich fread nicht um irgendwelche zeilenwechsel, 255 sollte also problemlos gehen, kann natuerlich auch erhoeht werden.

Auf weitere URLs in dem String kannst bspw. anhand eines regulaeren Ausdrucks ueberpruefen.

Normalerweise kann fopen schon alle Dateien oeffnen, allerdings kann es sein dass web.de irgendwelche rewrite-sachen laufen hat, mit redirect und so und es daher zu problemen kommt.

Probiers mal mit file();

Michael

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.