Create and download CSV in PHP
Consider the possibility of quickly creating a CSV file with automatic file download. Consider the formation, separators and header for the ability to download the file.
When synchronizing 1s with the site, to upload any information, you should resort to authorization. In order not to throw various unnecessary garbage on the site (at best).
So, after reading the literature, I realized that 1c exchanges headers with the site and prescribes PHP_AUTH_USER and PHP_AUTH_PW to it. But in my case, it was not possible to catch them in $_SERVER (maybe I didn’t set some settings in 1s).
Initially, it was planned to catch data after authorization like this :
<?php
$dbSeq = ['user' => 'test', 'pass' => 'test'];
$this->login = isset($_SERVER['PHP_AUTH_USER']) ? trim($_SERVER['PHP_AUTH_USER']) : null;
$this->password = isset($_SERVER['PHP_AUTH_PW']) ? trim($_SERVER['PHP_AUTH_PW']) : null;
if ($this->password == $dbSeq['pass'] && $this->login == $dbSeq['user']) {
return true;
}
But 1s did not give anything or the server could not accept this data (could not find the reason).
My solution was to redirect HTTP:Authorization . I have used mod_rewrite on apache .
There must be a line in .htaccess :
RewriteEngine on
which enables the conversion mechanism in mod_rewrite.
In .htaccess, after all the rules, the RewriteRule was added :
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
REMOTE_USER - indicates that {HTTP:Authorization} will be written to $_SERVER['REDIRECT_REMOTE_USER'] .
The data arrived in base64.
var_dump($_SERVER['REDIRECT_REMOTE_USER']);
["REDIRECT_REMOTE_USER"]=>
string(18) "Basic dGVzdDp0ZXN0"
I did a little trick with them :
<?php
$dbSeq = ['user' => 'test', 'pass' => 'test'];
if ($_SERVER["REDIRECT_REMOTE_USER"]) {
$info = base64_decode(end(explode(' ',$_SERVER["REDIRECT_REMOTE_USER"])));
$info = explode(':', $info);
$this->login = $info[0]; // Test login arrived
$this->password = $info[1]; // Test password arrived
}
if ($this->password == $dbSeq['pass'] && $this->login == $dbSeq[ 'user']) {
return true;
}
Consider the possibility of quickly creating a CSV file with automatic file download. Consider the formation, separators and header for the ability to download the file.
Latest templates from ImageCMS 4.12, authorization is required to download.
Consider options for popular options for storing goods in a shopping cart in an online store. Let's outline the pros and cons of such storage. Consider options for long-term storage of the basket.
Creating a key for imageCMS 4.9-4.12.1 Pro and Pre. You must be logged in to receive it.
When running the script from the console, there is no DOCUMENT_ROOT in $_SERVER. Let's try to get around this in our own ways, catch the file directory.
After developing any tool in PHP, the question becomes how resourceful the created code is and what elements it still affects. Let's take a look at xhprof installation, configuration, and how to work with xhprof.
Let's analyze the possibility of combining conditions in a query by groups in Propel. Consider an example of filtering by fields using ->condition() and ->combine().
The purpose of the article was to join (join) a table not declared in the schema (schema.xml) in propel2. Apparently a rare case or simply not enough documentation for this Propel ORM.