Jump to content

krrose27

New Members
  • Posts

    6
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

krrose27's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. ok, so this is just out of date?
  2. I;m trying to use this thing i found on a website to generate a dl, can anyon ehelp? you can test it at hvc3.com/ibotdl/zipit.php, im trying to add all the files in the ibot/ dir to the zip file [code=php:0] <?php /* Zip file creation class makes zip files on the fly... use the functions add_dir() and add_file() to build the zip file; see example code below by Eric Mueller http://www.themepark.com v1.1 9-20-01   - added comments to example v1.0 2-5-01 initial version with:   - class appearance   - add_file() and file() methods   - gzcompress() output hacking by Denis O.Philippov, webmaster@atlant.ru, http://www.atlant.ru */ // official ZIP file format: http://www.pkware.com/appnote.txt class zipfile  {      var $datasec = array(); // array to store compressed data     var $ctrl_dir = array(); // central directory      var $eof_ctrl_dir = "x50x4bx05x06x00x00x00x00"; //end of Central directory record     var $old_offset = 0;     function add_dir($name)      // adds "directory" to archive - do this before putting any files in directory!     // $name - name of directory... like this: "path/"     // ...then you can add files using add_file with names like "path/file.txt"     {         $name = str_replace("\\", "/", $name);          $fr = "x50x4bx03x04";         $fr .= "x0ax00";    // ver needed to extract         $fr .= "x00x00";    // gen purpose bit flag         $fr .= "x00x00";    // compression method         $fr .= "x00x00x00x00"; // last mod time and date         $fr .= pack("V",0); // crc32         $fr .= pack("V",0); //compressed filesize         $fr .= pack("V",0); //uncompressed filesize         $fr .= pack("v", strlen($name) ); //length of pathname         $fr .= pack("v", 0 ); //extra field length         $fr .= $name;          // end of "local file header" segment         // no "file data" segment for path         // "data descriptor" segment (optional but necessary if archive is not served as file)         $fr .= pack("V",$crc); //crc32         $fr .= pack("V",$c_len); //compressed filesize         $fr .= pack("V",$unc_len); //uncompressed filesize         // add this entry to array         $this -> datasec[] = $fr;         $new_offset = strlen(implode("", $this->datasec));         // ext. file attributes mirrors MS-DOS directory attr byte, detailed         // at http://support.microsoft.com/support/kb/articles/Q125/0/19.asp         // now add to central record         $cdrec = "x50x4bx01x02";         $cdrec .="x00x00";    // version made by         $cdrec .="x0ax00";    // version needed to extract         $cdrec .="x00x00";    // gen purpose bit flag         $cdrec .="x00x00";    // compression method         $cdrec .="x00x00x00x00"; // last mod time & date         $cdrec .= pack("V",0); // crc32         $cdrec .= pack("V",0); //compressed filesize         $cdrec .= pack("V",0); //uncompressed filesize         $cdrec .= pack("v", strlen($name) ); //length of filename         $cdrec .= pack("v", 0 ); //extra field length          $cdrec .= pack("v", 0 ); //file comment length         $cdrec .= pack("v", 0 ); //disk number start         $cdrec .= pack("v", 0 ); //internal file attributes         $ext = "x00x00x10x00";         $ext = "xffxffxffxff";          $cdrec .= pack("V", 16 ); //external file attributes  - 'directory' bit set         $cdrec .= pack("V", $this -> old_offset ); //relative offset of local header         $this -> old_offset = $new_offset;         $cdrec .= $name;          // optional extra field, file comment goes here         // save to array         $this -> ctrl_dir[] = $cdrec;              }     function add_file($data, $name)      // adds "file" to archive      // $data - file contents     // $name - name of file in archive. Add path if your want     {          $name = str_replace("", "/", $name);          //$name = str_replace("", "", $name);         $fr = "x50x4bx03x04";         $fr .= "x14x00";    // ver needed to extract         $fr .= "x00x00";    // gen purpose bit flag         $fr .= "x08x00";    // compression method         $fr .= "x00x00x00x00"; // last mod time and date         $unc_len = strlen($data);          $crc = crc32($data);          $zdata = gzcompress($data);          $zdata = substr( substr($zdata, 0, strlen($zdata) - 4), 2); // fix crc bug         $c_len = strlen($zdata);          $fr .= pack("V",$crc); // crc32         $fr .= pack("V",$c_len); //compressed filesize         $fr .= pack("V",$unc_len); //uncompressed filesize         $fr .= pack("v", strlen($name) ); //length of filename         $fr .= pack("v", 0 ); //extra field length         $fr .= $name;          // end of "local file header" segment                 // "file data" segment         $fr .= $zdata;          // "data descriptor" segment (optional but necessary if archive is not served as file)         $fr .= pack("V",$crc); //crc32         $fr .= pack("V",$c_len); //compressed filesize         $fr .= pack("V",$unc_len); //uncompressed filesize         // add this entry to array         $this -> datasec[] = $fr;         $new_offset = strlen(implode("", $this->datasec));         // now add to central directory record         $cdrec = "x50x4bx01x02";         $cdrec .="x00x00";    // version made by         $cdrec .="x14x00";    // version needed to extract         $cdrec .="x00x00";    // gen purpose bit flag         $cdrec .="x08x00";    // compression method         $cdrec .="x00x00x00x00"; // last mod time & date         $cdrec .= pack("V",$crc); // crc32         $cdrec .= pack("V",$c_len); //compressed filesize         $cdrec .= pack("V",$unc_len); //uncompressed filesize         $cdrec .= pack("v", strlen($name) ); //length of filename         $cdrec .= pack("v", 0 ); //extra field length          $cdrec .= pack("v", 0 ); //file comment length         $cdrec .= pack("v", 0 ); //disk number start         $cdrec .= pack("v", 0 ); //internal file attributes         $cdrec .= pack("V", 32 ); //external file attributes - 'archive' bit set         $cdrec .= pack("V", $this -> old_offset ); //relative offset of local header //        echo "old offset is ".$this->old_offset.", new offset is $new_offset<br>";         $this -> old_offset = $new_offset;         $cdrec .= $name;          // optional extra field, file comment goes here         // save to central directory         $this -> ctrl_dir[] = $cdrec;      }     function file() { // dump out file          $data = implode("", $this -> datasec);          $ctrldir = implode("", $this -> ctrl_dir);          return              $data.              $ctrldir.              $this -> eof_ctrl_dir.              pack("v", sizeof($this -> ctrl_dir)).    // total # of entries "on this disk"             pack("v", sizeof($this -> ctrl_dir)).    // total # of entries overall             pack("V", strlen($ctrldir)).            // size of central dir             pack("V", strlen($data)).                // offset to start of central dir             "x00x00";                            // .zip file comment length     } }  $zipfile = new zipfile();  // add the subdirectory ... important! $zipfile -> add_dir("ibot/"); // add the binary data stored in the string 'filedata' $filedata = 'ibot/file.txt';  $zipfile -> add_file($filedata, "file.txt");  // the next three lines force an immediate download of the zip file: header("Content-type: application/octet-stream");  header("Content-disposition: attachment; filename=test.zip");  echo $zipfile -> file();  ?>  [/code]
  3. Ok let me start by telling you what im trying to do. here is what i want php to do. 1. SOmeone goes to mysite.com/dl.php 2. The php file isnt a page it uses some like [code=php:0] // Headers for an download: header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="example.zip"'); header('Content-Transfer-Encoding: binary'); // load the file to send: readfile('example.zip'); [/code] to generate a zxip file download. Thats a code i foubnd online. But what i want to do is when someone visits that dl.php page the php not only starts the dl but generates the file so like zip.php wouldnt be on the server. Id have files on the server and when that php file is called itll generate a zip file for that download and then be gone. If i explained that horibily say so. If its not possiable please ay so. If it is can you please help?
  4. I havent been able to pin this down, or have anyone explain it to me. I'm trying to get the code to connect to the database and search for a ceatian item in a certian calloum. And if it exitsts then echos" some stuff. but if it doesnt then the script continues on its marry way. db name: Userinfo column: emails search for: $email .. if u can help i would be very happy.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.