[ Index ]
 

Code source de eZ Publish 3.9.0

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/ -> index_image_mysql.php (source)

   1  <?php
   2  
   3  define( 'TABLE_METADATA', 'ezdbfile' );
   4  define( 'TABLE_DATA', 'ezdbfile_data' );
   5  
   6  // Connect to storage database.
   7  $serverString = STORAGE_HOST;
   8  if ( defined( 'STORAGE_SOCKET' ) && STORAGE_SOCKET )
   9      $serverString .= ':' . STORAGE_SOCKET;
  10  elseif ( defined( 'STORAGE_PORT' ) )
  11      $serverString .= ':' . STORAGE_PORT;
  12  if ( !$db = mysql_connect( $serverString, STORAGE_USER, STORAGE_PASS ) )
  13      die( "Unable to connect to storage server.\n" );
  14  
  15  if ( !mysql_select_db( STORAGE_DB, $db ) )
  16      die( "Unable to connect to storage database.\n" );
  17  
  18  $filename = ltrim( $_SERVER['SCRIPT_URL'], "/");
  19  
  20  // Fetch file metadata.
  21  $filePathHash = md5( mysql_real_escape_string( $filename ) );
  22  $sql = "SELECT * FROM " . TABLE_METADATA . " WHERE name_hash='$filePathHash'" ;
  23  if ( !$res = mysql_query( $sql, $db ) )
  24      die( "Failed to retrive file metadata: $filePath.\n" );
  25  
  26  if ( !( $metaData = mysql_fetch_array( $res, MYSQL_ASSOC ) ) )
  27  {
  28      header( "HTTP/1.1 404 Not Found" );
  29  ?>
  30  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
  31  <HTML><HEAD>
  32  <TITLE>404 Not Found</TITLE>
  33  </HEAD><BODY>
  34  <H1>Not Found</H1>
  35  The requested URL <?=htmlspecialchars( $filename )?> was not found on this server.<P>
  36  </BODY></HTML>
  37  <?php
  38      mysql_free_result( $res );
  39      mysql_close( $db );
  40      exit( 1 );
  41  }
  42  
  43  mysql_free_result( $res );
  44  
  45  // Fetch file data.
  46  $fileID = $metaData['id'];
  47  $sql = "SELECT filedata FROM " . TABLE_DATA . " WHERE masterid=$fileID";
  48  if ( $res = mysql_query( $sql, $db ) )
  49  {
  50      // Output HTTP headers.
  51      $path     = $metaData['name'];
  52      $size     = $metaData['size'];
  53      $mimeType = $metaData['datatype'];
  54      $mtime    = $metaData['mtime'];
  55      $mdate    = gmdate( 'D, d M Y H:i:s T', $mtime );
  56  
  57      header( "Content-Length: $size" );
  58      header( "Content-Type: $mimeType" );
  59      header( "Last-Modified: $mdate" );
  60      header( "Expires: ". gmdate('D, d M Y H:i:s', time() + 6000) . 'GMT' );
  61      header( "Connection: close" );
  62      header( "X-Powered-By: eZ publish" );
  63      header( "Accept-Ranges: bytes" );
  64      header( 'Served-by: ' . $_SERVER["SERVER_NAME"] );
  65  
  66      // Output image data.
  67      while ( $row = mysql_fetch_row( $res ) )
  68          echo $row[0];
  69      mysql_free_result( $res );
  70  }
  71  mysql_close( $db );
  72  
  73  ?>


Généré le : Sat Feb 24 10:30:04 2007 par Balluche grâce à PHPXref 0.7