[php] ftp, hoe foutmelding "wegdrukken"?

Pagina: 1
Acties:

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 22:45

Snow_King

Konijn is stoer!

Topicstarter
Hoi,

Ik heb een MySQL DB met daarin een paar honderd ftp accounts.
Nu zijn sommige van deze accounts niet meer juist en dat wil ik ff checken.

Dus ik dacht ik maak een mooi php script.
Ik had het volgende gemaakt.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php


$dbcnx = mysql_connect("localhost","wido","*****");
mysql_select_db("duck");


$result = mysql_query("SELECT id, domain, usr, pass FROM accounts");


while ( $row = mysql_fetch_array($result) ) {
    $domain = "ftp.";
    $id = $row["id"];
    $domain .= $row["domain"];
    $usr = $row["usr"];
    $pass = $row["pass"];

$conn_id = ftp_connect($domain);


$login_result = ftp_login($conn_id, $usr, $pass);

$ids = $id + 1;

if ((!$conn_id) || (!$login_result)) {
mysql_query("DELETE FROM accounts WHERE id='$id'");
} 

ftp_close($conn_id);
}

?>

Dat wil dus niet helemaal, want als er foute login gegevens tussen zitten dan stopt het script er mee....

Hoe kan ik er voor zorgen dat dit niet gebeurd?
Het draait op mijn server dus ik kan zelf alles qua php instellen wat ik wil.
Warning: php_network_getaddresses: gethostbyname failed in C:\server\www\duck.ath.cx\ftp.php on line 18

Warning: ftp_login() expects parameter 1 to be resource, boolean given in C:\server\www\duck.ath.cx\ftp.php on line 21

Warning: ftp_close() expects parameter 1 to be resource, boolean given in C:\server\www\duck.ath.cx\ftp.php on line 29

Warning: php_network_getaddresses: gethostbyname failed in C:\server\www\duck.ath.cx\ftp.php on line 18

Fatal error: Maximum execution time of 30 seconds exceeded in C:\server\www\duck.ath.cx\ftp.php on line 18
Ik ga nu ff de time-out langer zetten.

Verwijderd

Om alleen de foutmelding te onderdrukken kun je een @ voor het commando zetten, zo dus:
PHP:
1
$conn_id = @ftp_connect($domain);


maar je kunt ook in php.ini de regel 'display_errors = off' opnemen, evt. gevolgd door 'log_errors = on' en 'error_log = c:/server/logs/php.log'.

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 22:45

Snow_King

Konijn is stoer!

Topicstarter
Verwijderd schreef op 30 augustus 2002 @ 17:00:
Om alleen de foutmelding te onderdrukken kun je een @ voor het commando zetten, zo dus:
PHP:
1
$conn_id = @ftp_connect($domain);


maar je kunt ook in php.ini de regel 'display_errors = off' opnemen, evt. gevolgd door 'log_errors = on' en 'error_log = c:/server/logs/php.log'.
tnx, dat was het.

nu werkt het!

  • SuperSchenk
  • Registratie: Maart 2001
  • Laatst online: 01-09 08:50
je kunt ook:

or die(en dan hier de melding neerzetten die je wel wil weergeven);

er achterzetten.

  • AK47
  • Registratie: Juli 2001
  • Laatst online: 04-05-2024
Wat het mooiste is om doen is:

PHP:
1
2
3
4
5
6
//simpele func als voorbeeld, ik zou het ietsje uitgebreider doen, met bijv. titel + go back link (dus opgeven waar naar toe)
function error ($msg) {
    echo $msg
}

$conn_id = ftp_connect($domain) or error ("Error bla bla");

Verwijderd

Aapje_18 schreef op 31 augustus 2002 @ 12:41:
je kunt ook:

or die(en dan hier de melding neerzetten die je wel wil weergeven);

er achterzetten.
Dan houdt het script er ook mee op...

Verwijderd

Verwijderd schreef op 31 augustus 2002 @ 13:29:
[...]

Dan houdt het script er ook mee op...
Nee: dan houdt het script er juist mee op. De ftp meldingen die je kreeg waren warnings, dus die stoppen je script niet. De echte reden was de timeout, dat was een fatal error.

Verwijderd

AK47 schreef op 31 augustus 2002 @ 12:47:
Wat het mooiste is om doen is:

PHP:
1
2
3
4
5
6
//simpele func als voorbeeld, ik zou het ietsje uitgebreider doen, met bijv. titel + go back link (dus opgeven waar naar toe)
function error ($msg) {
    echo $msg
}

$conn_id = ftp_connect($domain) or error ("Error bla bla");
Zou vind ik het ook wel mooi:
PHP:
1
2
3
4
5
6
7
8
if ($conn_id = @ftp_connect($domain))
{
  echo 'Mooi zo';
}
else
{
  echo 'Shit';
}


Het zou ook wel mooi zijn als die lelijke ''s eens een keer gefixt werden.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Argh! Echt een stel replies waar mijn haren van overeind gaan staan!

Niemand gehoord van set_error_handler :? :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

drm:
Niemand gehoord van set_error_handler

Eh, nee. Ik ben eigenlijk nog steeds bezig PHP te leren, en ik ben pas bij http://nl.php.net/manual/en/features.file-upload.php. Kom ik waarschijnlijk nog wel een keer tegen dan.

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 22:45

Snow_King

Konijn is stoer!

Topicstarter
drm schreef op 31 augustus 2002 @ 20:41:
Argh! Echt een stel replies waar mijn haren van overeind gaan staan!

Niemand gehoord van set_error_handler :? :?
nee....

dat jij nou zo supergoed bent in PHP, we moeten het toch ergens leren?
Als of ik zo maar weet dat ik op set-error-handler meot zoeken..

sjees man, maak je niet zo druk. :)

dit is overigens wel nofi

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-08 18:36
Snow_King schreef op 31 augustus 2002 @ 20:55:
[..]
dit is overigens wel nofi
Ja, dat blijkt wel weer...
Hij geeft toch aan dat je op set-error-handler moet zoeken? Zelfs een mooi linkje. Jij bent degene die zich niet zo moet aanstellen en bepaalde berichten wat beter moet lezen voor ze persoonlijk en verkeerd op te vatten.

Overigens is dat niet de oplossing, je moet gewoon checken of $domain wel mooi is voor ftp_connect (dat schijnbaar gethostbyname gebruikt, kijk even in manual voor de zekerheid) en $conn_id asserten voor je het aan ftp_login en ftp_close voert.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Nieko:
drm:
Niemand gehoord van set_error_handler

Eh, nee. Ik ben eigenlijk nog steeds bezig PHP te leren, en ik ben pas bij http://nl.php.net/manual/en/features.file-upload.php. Kom ik waarschijnlijk nog wel een keer tegen dan.
Afbeeldingslocatie: http://gerard.yoursite.nl/img/volgorde.gif

:? hmmmm :* ;)
Snow_King:
nee....

dat jij nou zo supergoed bent in PHP, we moeten het toch ergens leren?
Tja, ik heb 't ook maar uit de manual. En da's een hint ;)
Als of ik zo maar weet dat ik op set-error-handler meot zoeken..
Ach, zoals je in 't plaatje hierboven kan zien, 't staat redelijk bovenaan in de manual.
sjees man, maak je niet zo druk. :)
Ik maak me niet druk, ik probeer iets duidelijk te maken.
dit is overigens wel nofi
Ik vatte het ook niet ofi op ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

drm:
16. Error Handling
20. Handling File Uploads


Maar die set_error_handler() stond dan ook bij het 'See also:'-stukje, en die heb ik niet allemaal doorgenomen. Komt nog wel een keer ;).

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1