Avatar billede daniel_d Nybegynder
03. august 2006 - 12:17 Der er 13 kommentarer og
1 løsning

Opdele indhold fra textarea i x antal og download indhold som txt

Mit problem:

Jeg har lavet en formular der genererer en liste af links som bliver præsenteret i et textarea. listen kan f.eks. se sådan ud:

<a href="domain/mappe/1.html" title="1">1</a>
<a href="domain/mappe/2.html" title="2">2</a>
<a href="domain/mappe/3.html" title="3">3</a>
<a href="domain/mappe/4.html" title="4">4</a>
<a href="domain/mappe/5.html" title="5">5</a>
<a href="domain/mappe/6.html" title="6">6</a>
<a href="domain/mappe/7.html" title="7">7</a>
<a href="domain/mappe/8.html" title="8">8</a>
<a href="domain/mappe/9.html" title="9">9</a>

Før jeg generer listen har jeg valgt hvor mange jeg vil opdele listen, f.eks. til 2 filer som så præsenteres som to downloadlinks

Er der nogen der kan hjælpe mig på vej eller måske endda ved hvordan den skal skæres?
Avatar billede mcardle Nybegynder
04. august 2006 - 13:34 #1
Hvis jeg ellers har forstået det rigtigt, er det du er ved at lave en form til at tilføje links, af userne, til en side?
Avatar billede daniel_d Nybegynder
04. august 2006 - 19:43 #2
Nej det er ikke helt rigtigt, men det er nu heller ikke let at regne ud hvad jeg skal bruge det til... Jeg skal bruge det i forbindelse med søgemaskineoptimering - cloaking... mere vil jeg helst ikke ud med :)
Avatar billede mcardle Nybegynder
06. august 2006 - 01:06 #3
Men hvis du ikke vil ud med, hvad du skal bruge det til, kan jeg heller ikke hjælpe dig med det. ;-)
Avatar billede daniel_d Nybegynder
06. august 2006 - 01:36 #4
hehe... Jeg skal bruge det til at generere input til noget software jeg bruger til cloaking.

Egentlig burde det ikke volde mig de store problemer - det er jo vel "bare" en opdeling af et array i x antal hvor hvert nyt array skrives til en .txt fil som så kan downloades...
Avatar billede mcardle Nybegynder
06. august 2006 - 19:11 #5
Hvor laver du det ikke bare med inputs, så?
Avatar billede daniel_d Nybegynder
06. august 2006 - 23:06 #6
den må du gerne forklare nærmere... jeg er lettere grøn i php, så der er mange huller i min viden endnu...
Avatar billede mcardle Nybegynder
09. august 2006 - 19:25 #7
Jeg har lavet denne her, jeg ved ikke om den kan bruges til formålet, men prøv.:

Dette er din første side.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
    <head>
        <title>Form select</title>
        <?php
            $select = $_REQUEST["nr"];
        ?>
    </head>
<body>

<?php

if($select){
    echo '<form action="gemmeside.php">';
    for($i=0;$i<=$select;$i++){
        echo '<input type="text" name="link[]" /><br />';
    }
}
else{
$output = '<form action="'.$_SERVER["PHP_SELF"].'">';
$output .= '<select name="nr">';
$output .= '<option>1</option>';
$output .= '<option>2</option>';
$output .= '<option>3</option>';
$output .= '<option>4</option>';
$output .= '<option>5</option>';
$output .= '</select>';

echo $output;
}
echo '<input type="submit" value="Antal Links" />';
echo '</form>';
?>
</body>
</html>



Dette er den side den sender til: (gemmeside.php)

<?php

$link = $_REQUEST["link"];

$link1 = $link[0];
$link2 = $link[1];
$link3 = $link[2];
$link4 = $link[3];
$link5 = $link[4];
$link6 = $link[5];

echo $link1.'<br />'.$link2.'<br />'.$link3.'<br />'.$link4.'<br />'.$link5;

?>


Man kan så gøre med outputtet hvad man vil. ;-)
Avatar billede mcardle Nybegynder
09. august 2006 - 19:28 #8
Hvis du lægger det op på din server eller hvis du har installeret apache, kan du se hvordan det virker.

1) Vælg det antal links du gerne vil have.
2) Skriv link'sne.
3) Send link'sne til næste side, til behandling. Evt. gem i database.
Avatar billede daniel_d Nybegynder
10. august 2006 - 01:16 #9
Tror ikke rigtig den kan bruges til formålet...
Jeg er dog kommet så vidt nu, at jeg har mit output som et array.

Dette array vil jeg splitte op i x antal nye arrays som hver skal skrives i en txt fil.
Avatar billede daniel_d Nybegynder
10. august 2006 - 01:25 #10
Kan også fint splitte det op med array_chunk($array) og får så et multidimensionelt array og her hopper kæden af pt...
Avatar billede mcardle Nybegynder
10. august 2006 - 19:33 #11
$input_array = array('link1','link2','link3','link4','link5');
$output_array = array_chunk($input_array, 1);

echo $output_array['0']; // Vil være det første link
echo $output_array['1']; // Vil være det andet link, osv.

Og så skal du jo bare bruge fopen til at skrive med i din txt-fil.
Avatar billede daniel_d Nybegynder
10. august 2006 - 20:26 #12
jeg nærmer mig målet med:

foreach(array_chunk($array4, 5) as $key => $value) {
    for ($l = 0; $l < 5; $l++) {
        echo $value[$l]."<br>";
        //skriv til fil med prefix + nummer + extension.
       
    }
    echo "<br><br>";
}

Sagen er jo, at mit array genereres dynamisk og ovenstående udskriver som den skal, så nu skal det vist bare skrives til en fil...
Avatar billede daniel_d Nybegynder
10. august 2006 - 21:23 #13
Det lykkedes mig at skrive mit opdelte array til flere filer med:

foreach(array_chunk($array4, 5) as $key => $value) {
    for ($l = 0; $l < 5; $l++) {
        $handle = fopen("output".$key.".txt", "a");
        fwrite($handle, $value[$l]);
        fclose($handle);
    }
}

Men tak for hjælpen... Smid et svar, så sender jeg point i din retning.
Avatar billede mcardle Nybegynder
10. august 2006 - 21:30 #14
Tak, tak... ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester