Avatar billede yuksel Nybegynder
18. februar 2003 - 23:29 Der er 4 kommentarer og
1 løsning

downloader--forkert

jeg har lige et spørgesmål!!!

jeg har sat en php script op på min side hvor man igennem her skal kunne logge på min server men problemet er at den skaber meget trafik fordi at den først downloader til min servers adresse "/tmp/" og derefter til brugeren, men jeg vil hellere have at den sender direkte til useren (save,open osv...) istedet for at den sender til min servers mappe og derfra til brugeren.
koden ser sådan ud hvad skal jeg gøre ???


$downloadDir = "/tmp/";
    $unzipCommand = "sudo -u $user /usr/bin/unzip";
    $port=22;

    function del_recursive($currentDir,$connection,$file){
        //echo "entering $currentDir/$file<BR>";
        if ($lista = @ftp_nlist($connection, "$file
Avatar billede yuksel Nybegynder
18. februar 2003 - 23:31 #1
jeg tror at det er linjen her der skal skiftes ! 
$downloadDir = "/tmp/";
Avatar billede yuksel Nybegynder
18. februar 2003 - 23:37 #2
er der slette ikke nogen bud!!!!!!
Avatar billede dr^lotto Nybegynder
19. februar 2003 - 17:08 #3
hmm, er der ikke mere kode? for med den der ser det ikke ud til at downloadDir bliver brugt.......
Avatar billede yuksel Nybegynder
21. februar 2003 - 01:00 #4
jamen vil du da have hele koden
det er hele koden for index siden alene 


<?php
    /*

    */



    $downloadDir = "/tmp/";
    $unzipCommand = "sudo -u $user /usr/bin/unzip";
    $port=22;

    function del_recursive($currentDir,$connection,$file){
        //echo "entering $currentDir/$file<BR>";
        if ($lista = @ftp_nlist($connection, "$file")){
            for ($x=0;$x<count($lista);$x++){
                //echo "tryng to delete $lista[$x]<BR>";
                if (!@ftp_delete($connection, "$lista[$x]"))
                  del_recursive($currentDir,$connection,$lista[$x]);
            }
            @ftp_rmdir($connection, "$file");
        }
    }

    include("parser.inc.php");

    session_start();

    $HPV = $HTTP_POST_VARS;

    // Get the POST, GET and SESSION variables (if register_globals=off (PHP4.2.1+))
    // It's a bit of a dirty hack but variables are sometimes GET and sometimes POST variables
    $mode=(isset($HPV['mode']))?$HPV['mode']:$HTTP_GET_VARS['mode'];
    $action=(isset($HPV['action']))?$HPV['action']:$HTTP_GET_VARS['action'];
    $currentDir=(isset($HPV['currentDir']))?$HPV['currentDir']:$HTTP_GET_VARS['currentDir'];
    $file=(isset($HPV['file']))?$HPV['file']:$HTTP_GET_VARS['file'];
    $file2=(isset($HPV['file2']))?$HPV['file2']:$HTTP_GET_VARS['file2'];
    $permissions=(isset($HPV['permissions']))?$HPV['permissions']:$HTTP_GET_VARS['permissions'];
    $directory=(isset($HPV['directory']))?$HPV['directory']:$HTTP_GET_VARS['directory'];    $MAX_FILE_SIZE=(isset($HPV['MAX_FILE_SIZE']))?$HPV['MAX_FILE_SIZE']:$HTTP_GET_VARS['MAX_FILE_SIZE'];
    $logoff=(isset($HPV['logoff']))?$HPV['logoff']:$HTTP_GET_VARS['logoff'];

    if(isset($HTTP_SESSION_VARS['server'])) {
        $server=$HTTP_SESSION_VARS['server'];
        $user=$HTTP_SESSION_VARS['user'];
        $password=$HTTP_SESSION_VARS['password'];
        $port=$HTTP_SESSION_VARS['port'];
    } else {
        $server=$HTTP_POST_VARS['server'];
        $user=$HTTP_POST_VARS['user'];
        $password=$HTTP_POST_VARS['password'];
        $port=$HTTP_POST_VARS['port'];
    }


    if (isset($logoff))
    {
        session_unregister('server');
        session_unregister('user');
        session_unregister('password');
        session_unregister('port');
        unset($server);
        unset($user);
        unset($password);
        unset($port);
        session_destroy();
    }

    if (isset($server))
    {
        session_register('server', $server);
        session_register('user', $user);
        session_register('password', $password);
        session_register('port', $port);

//        $connection = @ftp_connect($server);
        $connection = @ftp_connect($server, $port);
        $loggedOn = @ftp_login($connection, $user, $password);
        $systype = @ftp_systype($connection);

        if(!isset($mode))
        {
            $mode=1; //(FTP_ASCII = 0; FTP_BINARY=1)
        }
        if ($loggedOn)
        {
            if (isset($currentDir))
            {
                ftp_chdir($connection, $currentDir);
            }
            $currentDir = ftp_pwd($connection);
            $msg = "Bulunduðunuz dosya = $currentDir";
            // what to do now ???
            if(isset($action)) {
                switch ($action) {
                    case "chmod":    // Change permissions
                        if(@ftp_site($connection, "chmod $permissions $file"))
                        {
                            $msg= "File permission changed.";
                        } else
                        {
                            $msg= "Could not change permissions for " . $file;
                        }
                        break;
                    case "cd":            // Change directory
                        //First try : normal directory
                        if(@ftp_chdir($connection, $currentDir . "/" . $file))
                        {
                            $currentDir = @ftp_pwd($connection);
                            $msg = "Current directory = " . $currentDir;
                        }
                        elseif(@ftp_chdir($connection, $file)) // Symbolic link directory
                        {
                            $currentDir = @ftp_pwd($connection);
                            $msg = "Current directory = " . $currentDir;
                        }
                        else // link to a file so let's retrieve this...
                        {
                            header("Content-disposition: attachment; filename=\"$file\"");
                            header("Content-type: application/octetstream");
                            header("Pragma: ");
                            header("Cache-Control: cache");
                            header("Expires: 0");

                            //Determine original filename
                            $filearray = explode("/",$file);
                            $file = $filearray[sizeof($filearray)-1];
                            $msg = $file;

                            $fp = fopen($downloadDir . $file, "w");
                            if(!@ftp_fget($connection,$fp,"$file",$mode))
                            {
                                fclose($fp);
                                exit;
                            }
                            fclose($fp);
                            $data = readfile($downloadDir . $file);
                            $i=0;
                            while ($data[$i] != "")
                            {
                                echo $data[$i];
                                $i++;
                            }
                            unlink($downloadDir . $file);
                            exit;

                        }
                        break;
                    case "get":            // Download file
                        header("Content-disposition: attachment; filename=\"$file\"");
                        header("Content-type: application/octetstream");
                        header("Pragma: ");
                        header("Cache-Control: cache");
                        header("Expires: 0");

                        $fp = fopen($downloadDir . $file, "w");
                        ftp_fget($connection,$fp,"$file",$mode) OR DIE("Error downloading file");
                        fclose($fp);
                        $data = readfile($downloadDir . $file);
                        $i=0;
                        while ($data[$i] != "")
                        {
                            echo $data[$i];
                            $i++;
                        }
                        unlink($downloadDir . $file);
                        exit;
                        break;
                    case "put":            // Upload file
                        if($file_size > $MAX_FILE_SIZE)
                        {
                            $msg = "<BFile size too big!</B> (max. " . $MAX_FILE_SIZE . "bytes)<P>";
                        }
                        else
                        {
                            if(file_exists($HTTP_POST_FILES['file']['tmp_name']))
                            {
                                if ($mode==1)
                                {
                                    ftp_put($connection, $currentDir . "/" . $HTTP_POST_FILES['file']['name'], $HTTP_POST_FILES['file']['tmp_name'], 1);
                                }
                                else
                                {
                                    ftp_put($connection, $currentDir . "/" . $HTTP_POST_FILES['file']['name'], $HTTP_POST_FILES['file']['tmp_name'], 0);
                                }
                                unlink($HTTP_POST_FILES['file']['tmp_name']);
                            }
                            else
                            {
                                $msg = "File could not be uploaded.";
                            }
                        }
                        break;
                    case "deldir";        // Delete directory
                        if(@ftp_rmdir($connection, "$file"))
                        {
                                $msg = "$file deleted";
                        }
                        else
                        {
                            //Verify if has files inside and if so, call recursive del
                            if ($lista = @ftp_nlist($connection, "$currentDir/$file")){
                                del_recursive($currentDir,$connection,$file);
                                $msg = "Directory $currentDir/$file deleted";
                            }
                            else $msg = "Could not delete $file";
                        }
                        break;
                    case "delfile";        // Delete file
                        if(@ftp_delete($connection, "$file"))
                        {
                            $msg = "$file deleted";
                        }
                        else
                        {
                            $msg = "Could not delete $file";
                        }
                        break;
                    case "rename";        // Rename file
                        if(@ftp_rename($connection, "$file", "$file2"))
                        {
                            $msg = "$file renamed to $file2";
                        }
                        else
                        {
                            $msg = "Could not rename $file to $file2";
                        }
                        break;
                    case "createdir":  // Create a new directory
                        if(@ftp_mkdir($connection, "$file"))
                        {
                            $msg = "$file created";
                        }
                        else
                        {
                            $msg = "Could not create $file";
                        }
                        break;
                  case "unzipfile";
                        $filens = str_replace(" ","\\ ",$file);

                        if (exec("$unzipCommand $currentDir/$filens -d $currentDir/"))
                        {
                            $msg = "$file unziped";
                        } else {
                            $msg = "Could not unzip the file";
                        }
                        break;
                }
            }
?>
             
<HTML>
<HEAD>
    <LINK REL=StyleSheet HREF="style/cm.css" TITLE=Contemporary TYPE="text/css">
    <META HTTP-EQUIV="charset=iso-8859-9">
    <SCRIPT LANGUAGE="JavaScript" SRC="include/script.js"></SCRIPT>
</HEAD>
<BODY>
        <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0 WIDTH='100%'>
            <TR>
               
    <TD CLASS=menu>
      <?php if($loggedOn) { ?>
      [&nbsp;&nbsp;<A CLASS=menu HREF="<?=$PHP_SELF;?>?logoff=true">Çýkýþ</A>&nbsp;&nbsp;]
      <?php } else { ?>
      [&nbsp;&nbsp;<A CLASS=menu HREF="<?=$PHP_SELF;?>?logoff=true">Yeniden dene</A>&nbsp;&nbsp;]
      <?php } ?>
      :::::::::: <a href="http://www.orientmuzik.com/index.php">&lt;&lt; Siteye
      geri d&ouml;n</a> </TD>
                <TD CLASS=menu ALIGN=RIGHT>
                    <FORM METHOD=POST NAME="currentMode">
                    :<INPUT TYPE='text' NAME='showmode' VALUE='<?=$mode==1?"Orientmuzik":"Orientmuzik";?>' STYLE='border: none; background-color: #cfcfbb; text-align: right; size:200px;' ALIGN=RIGHT></TD>
                    </FORM>
            </TR>
            <TR>
    <TD>
      <?=$msg;?>
      <br>
      <font color="#FF0000">MP3 indirirken yarida kesmeyiniz. Program felegini
      sasiriyor.<br>
      Eðer böyle bir durum olur ise ve explorer kilitlenirse, o pencereyi kapatýp
      yeni bir pencereden giriþ yapýnýz.</font></TD>
<TD ALIGN=RIGHT></TD></TR>
        </TABLE>

        <FORM NAME="actionform" METHOD=POST ACTION='<?=$PHP_SELF;?>'>
            <INPUT TYPE='hidden' NAME='action' VALUE=''>
            <INPUT TYPE='hidden' NAME='currentDir' VALUE='<?=$currentDir;?>'>
            <INPUT TYPE='hidden' NAME='file' VALUE=''>
            <INPUT TYPE='hidden' NAME='file2' VALUE=''>
            <INPUT TYPE='hidden' NAME='permissions' VALUE=''>
            <INPUT TYPE='hidden' NAME='mode' VALUE='<?=$mode;?>' STYLE='border: none; background-color: #EFEFEF;'>
        </FORM>
        <HR>
<HR>
        <P>
        <?php
            $list=Array();
            $list=ftp_rawlist($connection, "");
        ?>
        <TABLE>
        <TR>
            <TD><IMG SRC="img/parent.gif" HEIGHT=20 WIDTH=20 ALIGN=TOP></TD>
            <TD ALIGN=LEFT COLSPAN=7><A HREF='java script:submitForm("cd","..")'>..</A></TD>
        </TR>
        <?php
            $list = parse_ftp_rawlist($list, $systype);
            if (is_array($list))
            {
                // Directories
                foreach($list as $myDir)
                {
                    if ($myDir["is_dir"]==1)
                    {
                        $fileAction = "cd";
                        $fileName = $myDir["name"];
                        print "<TR>\n";
                        print "<TD><IMG SRC=img/folder.gif ALIGN=TOP></TD>\n";
                        print "<TD><A HREF='java script:submitForm(\"cd\",\"". $fileName . "\")'>". $myDir["name"] . "</A></TD>\n";
                       
                        print "</TR>\n";
                    }
                }

                // Links
                foreach($list as $myDir)
                {
                    if ($myDir["is_link"]==1)
                    {
                        $fileAction = "cd";
                        $fileName = $myDir["target"];
                        print "<TR>\n";
                        print "<TD><IMG SRC=img/link.gif ALIGN=TOP></TD>\n";
                        print "<TD><A HREF='java script:submitForm(\"cd\",\"". $fileName . "\")'>". $myDir["name"] . "</A></TD>\n";
                        print "<TD ALIGN=RIGHT>". $myDir["size"] . "</TD>\n";
                        print "<TD>". $myDir["date"] . "</TD>\n";
                       
                        print "Symbolic link to ". $myDir["target"];
                        print "</TD>\n";
                        print "</TR>\n";
                    }
                }

                // Files
                foreach($list as $myDir)
                {
                    if ($myDir["is_link"]!=1 && $myDir["is_dir"]!=1)
                    {
                        $fileAction = "get";
                        $fileName = $myDir["name"];
                        print "<TR>\n";
                        print "<TD><IMG SRC=img/file.gif ALIGN=TOP></TD>\n";
                        print "<TD><A HREF='java script:submitForm(\"get\",\"". $fileName . "\")'>". $myDir["name"] . "</A></TD>\n";
                        print "<TD ALIGN=RIGHT>". $myDir["size"] . "</TD>\n";
                        print "<TD>". $myDir["date"] . "</TD>\n";
                       

                        if (strtolower($myDir["extension"]) == "zip")
                        {
                            print "<TD><A HREF='java script:ConfirmationUnzip(\"" . $PHP_SELF . "?action=unzipfile&file=". $myDir["name"] . "&currentDir=". $currentDir . "\")'><IMG SRC=img/zip.gif BORDER=0 ALT=\"Unzip\"></A></TD>\n";
                        } else {
                            echo "<TD>&nbsp;</td>";
                        }

                        print "</TR>\n";
                    }
                }
            }
            print "    </TABLE>";
        }
        else
        {
            if(!isset($msg))
            {
                $msg = "Could not connect to server $server:$port with user $user<P><A HREF='" . $PHP_SELF . "?logoff=true'>Try again...</A>";
            }
?>
<HTML>
<HEAD>
    <LINK REL=StyleSheet HREF="style/cm.css" TITLE=Contemporary TYPE="text/css">
    <SCRIPT LANGUAGE="JavaScript" SRC="include/script.js"></SCRIPT>
</HEAD>
<BODY>
<?php
            print $msg;
        }
    }
    else // Still need to logon...
    {
?>
<HTML>
<HEAD>
    <LINK REL=StyleSheet HREF="style/cm.css" TITLE=Contemporary TYPE="text/css">
    <SCRIPT LANGUAGE="JavaScript" SRC="include/script.js"></SCRIPT>
</HEAD>
<BODY>
        <TABLE BORDER=0 CELLPADDING=2 CELLSPACING=0 WIDTH='100%'>
            <TR>
               
    <TD CLASS=menu> <p><font size="+2"><strong>Orientmuzik MP3 indirme paneli</strong></font>
      </p>
      <p><font size="-6">Kullan&yacute;m K&yacute;lavuzu: (asl&yacute;nda g&ouml;r&uuml;nen
        k&ouml;y k&yacute;lavuz istemez :-)</font></p>
      <p>L&uuml;tfen kullan&yacute;c&yacute; isminizi ve &thorn;ifrenizi giriniz
        ve sonrada giri&thorn; tu&thorn;unu t&yacute;klay&yacute;n&yacute;z.<br>
        G&ouml;rd&uuml;&eth;&uuml;n&uuml;z sanat&ccedil;&yacute;lar&yacute;n &uuml;zerlerine
        t&yacute;klayarak alb&uuml;mleri g&ouml;receksiniz. <br>
        Her alb&uuml;m&uuml;n i&ccedil;inde bulunan mp3'lerin &uuml;zerine t&yacute;klayarak
        indirebilirsiniz.</p>
      </TD>
            </TR>
        </TABLE>

        <FORM NAME=logon action='<?=$PHP_SELF;?>' METHOD=POST>
        <TABLE>
            <TR>
                <TD>Server</TD>
                <TD><INPUT TYPE=TEXT NAME=server SIZE=18 VALUE=213.196.3.47>&nbsp;Port : <INPUT TYPE=text NAME=port SIZE=6 VALUE=21></TD>
            </TR>
            <TR>
               
      <TD>Kullan&yacute;c&yacute;</TD>
                <TD>
                    <INPUT TYPE=TEXT NAME=user SIZE=18>
                    <INPUT TYPE="checkbox" NAME="anonymous" VALUE=1 OnClick="anonymousAccess()"> : Sadece bakmak için gir
                </TD>
            </TR>
            <TR>
               
      <TD>&THORN;ifre</TD>
                <TD><INPUT TYPE=PASSWORD NAME=password SIZE=18></TD>
            </TR>
            <TR>
                <TD COLSPAN=2 ALIGN=CENTER><INPUT TYPE=SUBMIT VALUE="Giriþ"></TD>
            </TR>
        </TABLE>
       
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p><a href="http://www.orientmuzik.com/index.php">&lt;&lt; Siteye geri d&ouml;n</a></p>
</FORM>
       
       
<?php
    }
   
   
   

?>
<P>
<DIV ALIGN=CENTER STYLE='font-family: verdana, arial, sans-serif; font-size:10px'>

</BODY>
</HTML>
Avatar billede yuksel Nybegynder
21. februar 2003 - 01:01 #5
jeg lukker
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

IT-JOB