Avatar billede grise_bassen Nybegynder
09. september 2005 - 15:50 Der er 22 kommentarer og
1 løsning

upload php fil til forskellige mapper

jeg har det her script hvor man lave php filer online
jeg ville gerne have så jeg kunne vælge mellem at upload til mapperne der ligger i samme mappe som scriptet
Avatar billede grise_bassen Nybegynder
09. september 2005 - 15:51 #1
scriptet

<?
if ($_SESSION['logged_id']==TRUE){
?>

<?


$indhold1 = '
  <?
  session_start();
  $side = "../..";
  require ($side."/includes/conf.php");
  require ($_SERVER["DOCUMENT_ROOT"] ."/cms/admin/opret_mappe_phpfiler/opret_php_top.php");

  echo"'.$_POST[indhold].'";

  require ($_SERVER["DOCUMENT_ROOT"] ."/cms/admin/opret_mappe_phpfiler/opret_php_bund.php");
  ?>
';




if ($opret) {
    if (!file_exists($filnavn)) {
        $fil = fopen($filnavn, "a+");
        fputs($fil,  $indhold1);

 
  } else {
        echo "Der findes allerede en fil med det navn";
    }
}
?>


<form action="opret_php_filer.php" method="post">
<input type="text" name="filnavn" value="filens navn">
<br>
<textarea name="indhold" cols="40" rows="10"></textarea>
<input type="submit" name="opret" value="opret fil">
</form>




<?
} else {
echo"<br><br><bR><bR><bR><center><font size='3' color='red'>Du har ikke adgang til denne side</font></center>";
}
?>
Avatar billede jakobdo Ekspert
09. september 2005 - 16:07 #2
Du kunne lave en <select>
og så bruge koden:
$path = $_SERVER['DOCUMENT_ROOT']
echo "<select name=\"dir\">;
foreach (glob($path,GLOB_ONLYDIR) as $dir)
{
  echo "<option>" . $dir . "</option>\n";
}
echo "</select>";
Avatar billede jakobdo Ekspert
09. september 2005 - 17:09 #3
Test lige denne:

<?php
session_start();
if($_SESSION['logged_id']==TRUE)
{

$indhold1 = '
  <?
  session_start();
  $side = "../..";
  require ($side."/includes/conf.php");
  require ($_SERVER["DOCUMENT_ROOT"] ."/cms/admin/opret_mappe_phpfiler/opret_php_top.php");

  echo"'.$_POST[indhold].'";

  require ($_SERVER["DOCUMENT_ROOT"] ."/cms/admin/opret_mappe_phpfiler/opret_php_bund.php");
  ?>
';

if (isset($_POST['opret']))
{
    if(!file_exists($_POST['filnavn']))
    {
        $fil = fopen($_SERVER['DOCUMENT_ROOT'] . $_POST['dir'] . $_POST['filnavn'], "a+");
        fputs($fil,  $indhold1);
    }
    else
    {
        echo "Der findes allerede en fil med det navn";
    }
}
?>

<table>
<form action="opret_php_filer.php" method="post">
<tr><td>Filnavn:</td><td><input type="text" name="filnavn" value="filens navn"></td></tr>
<tr><td>Placering:</td><td>

<?
$path = $_SERVER['DOCUMENT_ROOT']
echo "<select name=\"dir\">;
foreach (glob($path,GLOB_ONLYDIR) as $dir)
{
  echo "<option>" . $dir . "</option>\n";
}
echo "</select>";
?>

</td></tr>
<tr><td>Indhold:</td><td><textarea name="indhold" cols="40" rows="10"></textarea></td></tr>
<tr><td colspan="2"><input type="submit" name="opret" value="opret fil"></td></tr>
</form>
</table>

<?
}
else
{
    echo"<br><br><bR><bR><bR><center><font size='3' color='red'>Du har ikke adgang til denne side</font></center>";
}
?>
Avatar billede grise_bassen Nybegynder
11. september 2005 - 16:47 #4
jeg for fejlen Warning: fopen(/usr/export/www/hosting/4boys/usr/export/www/hosting/4boys/cms/filens navn.php): failed to open stream: No such file or directory in /usr/export/www/hosting/4boys/cms/admin/opret_mappe_phpfiler/opret_php_filer.php on line 145

Warning: fputs(): supplied argument is not a valid stream resource in /usr/export/www/hosting/4boys/cms/admin/opret_mappe_phpfiler/opret_php_filer.php on line 147
Avatar billede jakobdo Ekspert
11. september 2005 - 16:52 #5
I bunden af din kode, skrive lige:

<?
echo "<hr>";
show_source(__FILE__);
?>
og smid et link...
Avatar billede grise_bassen Nybegynder
11. september 2005 - 17:11 #6
den skriver Warning: show_source() has been disabled for security reasons in /usr/export/www/hosting/4boys/cms/admin/opret_mappe_phpfiler/opret_php_filer.php on line 176
Avatar billede grise_bassen Nybegynder
11. september 2005 - 17:17 #8
kodne ser sådan her ud nu

<?php


$indhold1 = '
  <?
  session_start();
  $side = "../..";
  require ($side."/includes/conf.php");
  require ($_SERVER["DOCUMENT_ROOT"] ."/cms/admin/opret_mappe_phpfiler/opret_php_top.php");

  echo"'.$_POST[indhold].'";

  require ($_SERVER["DOCUMENT_ROOT"] ."/cms/admin/opret_mappe_phpfiler/opret_php_bund.php");
  ?>
';

if (isset($_POST['opret']))
{
    if(!file_exists($_POST['filnavn']))
    {
        $fil = fopen($_SERVER['DOCUMENT_ROOT'] . $_POST['dir'] . $_POST['filnavn'], "a+");
        fputs($fil,  $indhold1);
    }
    else
    {
        echo "Der findes allerede en fil med det navn";
    }
}
?>

<table>
<form action="opret_php_filer.php" method="post">
<tr><td>Filnavn:</td><td><input type="text" name="filnavn" value="filens navn"></td></tr>
<tr><td>Placering:</td><td>

<?
$path = "$_SERVER[DOCUMENT_ROOT]";
echo "<select name=\"dir\">";
foreach (glob("$path/*",GLOB_ONLYDIR) as $dir)
{
  echo "<option>" . $dir . "</option>\n";
}
echo "</select>";
?>

</td></tr>
<tr><td>Indhold:</td><td><textarea name="indhold" cols="40" rows="10"></textarea></td></tr>
<tr><td colspan="2"><input type="submit" name="opret" value="opret fil"></td></tr>
</form>
</table>
<?
echo "<hr>";
show_source(__FILE__);
?>
Avatar billede grise_bassen Nybegynder
11. september 2005 - 17:20 #9
jeg prøver også slev så det kan godt være den ikke lige giver dig fejlen når du kigger på siden..!
Avatar billede jakobdo Ekspert
11. september 2005 - 17:25 #10
Prøv at ret linien til: $fil = fopen($_POST['dir'] . $_POST['filnavn'], "a+");
Avatar billede grise_bassen Nybegynder
11. september 2005 - 17:31 #11
nu kommer den ikke med nogle fejl...
men den gemmer ikke filen
Avatar billede grise_bassen Nybegynder
11. september 2005 - 17:32 #12
kan man ikke gøre så det er mapperne der ligger i denne her mappe man kna vælge imelem..?

http://4boys.4b.funpic.org/cms/admin/opret_mappe_phpfiler/
Avatar billede jakobdo Ekspert
11. september 2005 - 17:50 #13
Sæt $path = "admin/opret_mappe_phpfiler/"
Avatar billede grise_bassen Nybegynder
11. september 2005 - 17:51 #14
nej man kan ikke se mapperne...
Avatar billede jakobdo Ekspert
11. september 2005 - 17:54 #15
Hvor ligger din fil?
I samme mappe?
Hvis ja, så kan du sætte $path = getcwd();
Avatar billede grise_bassen Nybegynder
11. september 2005 - 17:57 #16
ja nu kan man se navnenen men man kan stadig ikke oprette nogén fil...

den kommer ikke med nogen fejl men den opretter bare kke
Avatar billede jakobdo Ekspert
11. september 2005 - 18:00 #17
Og din kode er ikke anderledes end dit indlæg: 17:17:15
Prøv lige at lav mappen til: chmod: 777
Avatar billede grise_bassen Nybegynder
11. september 2005 - 18:13 #18
nu laver den i en fil men den laver den ikke i mappen og så sætter den mappens navn foran... så der mangler vel en / et sted
Avatar billede grise_bassen Nybegynder
11. september 2005 - 18:25 #19
fandt ud af det... tak...

lige et sidste spm der hvor man vælger mappe er det muligt at slippe for

/usr/export/www/hosting/4boys/cms/admin/opret_mappe_phpfiler/mappen_navn

så der kun står mappens navn..?

man mange tak..!
smid også lige et svar
Avatar billede jakobdo Ekspert
11. september 2005 - 18:51 #20
Ret: echo "<option>" . $dir . "</option>\n";
til: echo "<option>" . basename($dir) . "</option>\n";
Avatar billede grise_bassen Nybegynder
11. september 2005 - 18:55 #21
det funker perfekt..!

tak :0) smid et svar tak
Avatar billede jakobdo Ekspert
11. september 2005 - 18:56 #22
Svar!
Avatar billede jakobdo Ekspert
11. september 2005 - 19:44 #23
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