Avatar billede zarthax Nybegynder
09. maj 2006 - 15:09 Der er 16 kommentarer og
1 løsning

Bruger skal kunne uploade en txt fil, som så læses af andre.

Jeg er lidt i vildrede her, fordi jeg intet ander om PHP, og da heller ikke regner med at skulle bruge det i et omfang der kræver at jeg sætter mig ind i det på heltidsbasis. Så derfor denne lille forespørgsel:

Jeg søger et script, der gør en bruger istand til at skrive en .txt fil på sin egen maskine, og uploade den så andre kan læse den på siden. Slutbruger skal ikke hente en .txt fil ned for a læse den, men skal kunne læse den direkte fra sitet.
Det var det grundlæggende...

Brugeren der uploader, tilhører en lukket gruppe af redaktører, og de der ser siden, behøver ikke være logget ind for at læse det som redaktørene har skrevet.

Der er forskellige redktører, med hver deres områder som de skal skrive i, og de må ikke kunne skrive i hinandens grupper.

Ingen af redaktørene må få hovedadgangskoden til sitet udleveret, de skal derfor kunne uploade deres materiale på anden vis. Evt. kan løsningen med at uploade, ændres til at de skal skrive det på selve sitet.

Jeg har endnu ikke nogen skabelon færdig til at se på, men kan fortælle at den vil blive bygget op i et <table></table>, og at mængden af php kode på html siden, skal reduceres kraftigt.

(Sitet skal bruges i spillet kaldet "EVE-Online" hvis nogen er bekendt med det...)

Da spillet bruger en egen-produceret browser, er det noget begrænset med hvad kode der bliver accepteret. Derfor vil denne side nok være til lidt hjælp:
http://bughunters.addix.net/igbtest/IGB-commands.html#1.Supported%20Tags%20and%20Attributes|outline

Håber der er en venlig sjæl derude i det danske land, som ikke er alt for optaget f de luftige 18-23 graders varme vi nyder idag :)
Avatar billede swiatecki Novice
09. maj 2006 - 15:26 #1
Skal det uploades som txt fil eller må det godt være lige som her på exp.dk hvor man skriver i et tekstfelt ?
Avatar billede zynzz Praktikant
09. maj 2006 - 16:07 #2
Upload delen kunne se således ud...:

PHP delen:
if(isSet($_FILES['upfile'])){
  $til = "dinsti/dinsti" . $_FILES['upfile'] . ".txt";
  move_uploaded_file($_FILES["upfile"]["tmp_name"], $til);
}

HTML delen:
<form action="" method="post" enctype="multipart/form-data" >
<input type="file" name="upfile" />
<input type="submit" name="upload">
</form>
Avatar billede zurekk Nybegynder
09. maj 2006 - 18:03 #3
Og når filerne skal ses direkte på siden.

<? include("fil.txt"); ?>
(har aldrig prøvet med .txt filer)
Avatar billede jakobdo Ekspert
09. maj 2006 - 22:07 #4
Prøv denne fil:

<?php
//http://www.eksperten.dk/spm/708225

if($_FILES['txtfile']['size']>0 && strtolower(end(explode('.',$_FILES['txtfile']['name']))) == 'txt')
{
    $til = getcwd() . '/txt/' . $_FILES['txtfile']['name'];
    move_uploaded_file($_FILES['txtfile']['tmp_name'], $til);
}
else
{
    $error = '<h3>Filen skal være .txt og indeholde noget tekst</h3>';
}

?>
<html>
    <head>
        <title>Upload Textfile (.txt)</title>
        <style type="text/css">
            div.row {
              clear: both;
              padding-top: 10px;
          }

            div.row span.label {
              float: left;
              width: 100px;
              text-align: right;
          }

            div.row span.formw {
              float: right;
              width: 300px;
              text-align: left;
          }
        </style>
    </head>
    <body>
        <div style="width: 410px; background-color: silver; border: 1px dotted black; margin: 50px auto";>
            <?php
                if(isset($_GET['txt']) && file_exists(getcwd() . "/txt/" . preg_replace('/\\\|\\.\\.|\//', '', $_GET['txt'])))
                {
                    $content = file_get_contents(getcwd() . "/txt/" . preg_replace('/\\\|\\.\\.|\//', '', $_GET['txt']));
                    echo nl2br($content);
                }
                else
                {
                    foreach (glob(getcwd() . "/txt/*.txt") as $txtfile)
                    {
                        echo '<div class="row">';
                        echo '<span class="label">'.basename($txtfile).'</span><span class="formw"><a href="708225.php?txt='.basename($txtfile).'">Vis tekstfil</a></span>';
                        echo '</div>';
                    }
            ?>
            <form action="<?=$_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" >
            <div class="row">
              <span class="label">Textfile (.txt):</span><span class="formw"><input type="file" name="txtfile" /></span>
            </div>
            <div class="row">
              <span class="formw"><input type="submit" name="upload" value="Upload file" /></span>
            </div>
              <div class="spacer">
                  &nbsp;
              </div>
            </form>
            <?php
                }
            ?>
        </div>
    </body>
</html>

I samme mappe opretter du en mappe kaldet: txt og chmod'er den til 777, så har du hvad du efterspørger.
Avatar billede zarthax Nybegynder
10. maj 2006 - 07:01 #5
av for den, der er da vist nogen ting der skal afprøves :)

Jeg går straks igang og ser om jeg kan få det til at virke :)
Avatar billede zarthax Nybegynder
10. maj 2006 - 07:17 #6
Dit script indeholder det hele Jacob, men det uploader ikke filen, den tilføjer blot filnavnet.... Ved gennemgang af txt mappen, ser jeg den er tom. Den er sat til 777 ?? :S
Avatar billede zarthax Nybegynder
10. maj 2006 - 07:19 #7
ved dog ikke om det er nemmere, og måske mere brugervenligt, at lade redaktørene skrive direkte på siden, som swiatecki foreslår....

Temp test link: www.camedli.dk/tr/test_2.php
Avatar billede zarthax Nybegynder
10. maj 2006 - 07:24 #8
glem det... ændrede linket og vupti det virkede :) :

</span><span class="formw"><a href="708225.php?txt='.basename($txtfile).'">Vis tekstfil</a></span>';

Blev til:

</span><span class="formw"><a href="test_2.php?txt='.basename($txtfile).'">Vis tekstfil</a></span>';
Avatar billede jakobdo Ekspert
10. maj 2006 - 09:15 #9
:o)
Avatar billede zarthax Nybegynder
10. maj 2006 - 10:53 #10
Ok, har leget med det, og må sige at det virker :)

Nu skal det så låses til 1 brugergruppe, dem der kan uploade filer. Plus, filerne skal være tilgængelige for en anden gruppe, som osse skal være registrerede for at kunne se dem.... ?? Kan det laves ved en udbygning på dette ??
Avatar billede jakobdo Ekspert
10. maj 2006 - 11:03 #11
Sagtens, men du skal jo vide hvordan du skelner mellem de forskellige brugergrupper.
Avatar billede zarthax Nybegynder
10. maj 2006 - 13:30 #12
havde tænkt mig en login side, hvor de 2 grupper skilles ad....
Admin har en brugerliste, og kan igennem den vælge hvem der tilhører hvilken gruppe.. Redaktør, eller Læser...

Login side -> indhold
Avatar billede jakobdo Ekspert
10. maj 2006 - 13:57 #13
Så er det muligt, men det må du næsten selv finde rundt i.
Avatar billede zarthax Nybegynder
13. januar 2007 - 14:34 #14
Uha dette er et gammelt indlæg :S

Nogen der vil gøre krav på de point der ligger i tråden, eller hvordan med det ?

Projektet er ikke blevet til noget grundet tidsmangel, så der er ingen fungerende eksempler på dette emne..
Avatar billede jakobdo Ekspert
13. januar 2007 - 18:33 #15
Et svar!
Avatar billede zarthax Nybegynder
22. januar 2007 - 13:39 #16
hehe, så skal der lukkes :)
Undskyld ventetiden :(
Avatar billede jakobdo Ekspert
22. januar 2007 - 13:52 #17
Takker for point.
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