ik heb een txt bestand met op elke lijn een emailadres. hoe kan ik die een voor een uitlezen en willekeurig er een vantussen halen?
Het hele tekstbestand uitlezen (fopen), vervolgens alles in een array zetten (desnoods met behulp van explode) en een random $arr[$i] gebruiken bijvoorbeeld.

http://www.php.net voor uitleg van alle functies.

Edit: zonder echte array, voorbeeld:

<?php

$file = 'data.txt';
$open = fopen($file, r);
$data = fread($open, filesize($file));

// Splitten per regel
$expl = explode("\n",$data);

$i = rand(1,3);
// Explode begint bij 0, random bij 1 in dit geval (duidelijkheid)
$i = $i-1;
$output = $expl[$i];

echo "$output";

?>

In mijn data.txt staat de volgende informatie:

[email protected]
[email protected]
[email protected]

Zo wordt er dus random een mailadres geselecteerd.
en hoe dan een gekozen emailadres verwijderen uit textbestand bv mail.php?action=delete&[email protected]
Je moet alleen nog even de rijen tellen (count();? weet het eigenlijk niet) En die drie veranderen in die waarde...
<?php

$file = 'data.txt';
$open = fopen($file, 'r');
$data = fread($open, filesize($file));
fclose($open);

// Splitten per regel
$a_Adressen = explode("\n",$data);

$i = rand(1,count($a_Adressen));
// Explode begint bij 0, random bij 1 in dit geval (duidelijkheid)
$i = $i-1;
$output = $a_Adressen[$i];
echo "$output";

if(isset($_GET['action']) && $_GET['action'] == 'delete'){
if($i_key = array_search($_GET['email'])){
unset($a_Adressen);
$handle = fopen($file, 'w');
fwrite($handle, implode("\n", $a_Adressen)) or die('Kon gegevens niet schrijven.');
fclose($handle);
}
}

?>

Zoiets?
ik ga dit eens proberen (mits nodige aanpassingen). Bedankt ;-)
Ik zal delete er even bijscripten met behulp van een postdata formulier zometeen.
Alle 3 leeg :S Zie niks noppes , niet veel dus
basisbestand

ok, ik kan nu zien waar het gekozen email staat. hoe haal ik die nu vantussen mijn tekstbestand?
echo $a_Adressen['#']; (wel min 1 want 0 is de eerste...)

Edit: Typo

Reageren