PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 7
tonyio Отправлено: 24 Ноября, 2014 - 23:29:47 • Тема: использование curl • Форум: Вопросы новичков

Ответов: 1
Просмотров: 159
нужно запустить импорт таким образом и поймать ответ в случае ошибки.
в ручную делаю так: http://192[dot]168[dot]1[dot]211/fileUploads[dot][dot][dot]ename=import[dot]txt
Ох накосячил, нужно GET
почитав маны,я пришел к выводу что это должно выглядеть так:
PHP:
скопировать код в буфер обмена
  1.  
  2. outname = 'import.txt';
  3. if( $curl = curl_init() ) {
  4.     curl_setopt($curl, CURLOPT_URL, 'http://192.168.1.211/fileUploads/import?filename=');
  5.     curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
  6.     curl_setopt($curl, CURLOPT_POST, true);
  7.     curl_setopt($curl, CURLOPT_POSTFIELDS, $outname);
  8.     $out = curl_exec($curl);
  9.     echo $curl;
  10.     $importMessage = $out;
  11.     echo $importMessage;    
  12.     curl_close($curl);
  13. }
  14.     else
  15.     {
  16.         $errimport = 'Error: ' . curl_error($curl);
  17.         echo $errimport;
  18.                
  19.   }
  20.  

но увы не работает. прошу подсказки.
(Добавление)
tonyio пишет:
нужно запустить импорт таким образом и поймать ответ в случае ошибки.
в ручную делаю так: http://192[dot]168[dot]1[dot]211/fileUploads[dot][dot][dot]ename=import[dot]txt
Ох накосячил, нужно GET
почитав маны,я пришел к выводу что это должно выглядеть так:
PHP:
скопировать код в буфер обмена
  1.  
  2. outname = 'import.txt';
  3. if( $curl = curl_init() ) {
  4.     curl_setopt($curl, CURLOPT_URL, 'http://192.168.1.211/fileUploads/import?filename=');
  5.     curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
  6.     curl_setopt($curl, CURLOPT_POST, true);
  7.     curl_setopt($curl, CURLOPT_POSTFIELDS, $outname);
  8.     $out = curl_exec($curl);
  9.     echo $curl;
  10.     $importMessage = $out;
  11.     echo $importMessage;    
  12.     curl_close($curl);
  13. }
  14.     else
  15.     {
  16.         $errimport = 'Error: ' . curl_error($curl);
  17.         echo $errimport;
  18.                
  19.   }
  20.  

но увы не работает. прошу подсказки.


использовать GET а не POST.вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. outname = '?filename=' . 'import.txt';
  3. if( $curl = curl_init() ) {
  4.     curl_setopt($curl, CURLOPT_URL, 'http://192.168.1.211/fileUploads/import'.$outname);
  5.     curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
  6.     $out = curl_exec($curl);
  7.     echo $curl;
  8.     $importMessage = $out;
  9.     echo $importMessage;    
  10.     curl_close($curl);
  11. }
  12.     else
  13.     {
  14.         $errimport = 'Error: ' . curl_error($curl);
  15.         echo $errimport;
  16.                
  17.   }
  18.  
tonyio Отправлено: 17 Ноября, 2014 - 21:32:25 • Тема: найти название новейшего файла в shared директории через smb • Форум: Работа с сетью

Ответов: 0
Просмотров: 811
есть сервер на убунту и все выполняется на нем.
нужно используя smb проверить shared папку на windows сервре на наличе в ней файов,и скопировать название новейшего файла, вернуть значение скрипту обратно.
как тоже свмое провернуть с использованием smb?
PHP:
скопировать код в буфер обмена
  1.  
  2. $dir = "C:\file\";
  3. if ($handle = opendir($dir)) {
  4.    $latest = null;
  5.    while (($cur = readdir($handle) !== false)) {
  6.        if ($latest == null || filectime($cur) > filectime($latest)) {
  7.            $latest = $cur;
  8.        }
  9.    }
  10.    closedir($handle);
  11. }
  12. return $latest;
  13.  

(Добавление)
придумал

PHP:
скопировать код в буфер обмена
  1.  
  2.    $smbc = new smbclient ('//10.1.0.1/Syiur/full/path', 'domain\\username', 'password');
  3.     if ($handle = opendir($smbc)) {
  4.     $latest = null;
  5.     while (($cur = readdir($handle) !== false)) {
  6.         if ($latest == null || filectime($cur) > filectime($latest)) {
  7.             $latest = $cur;
  8.         }
  9.     }
  10.     closedir($handle);
  11. }
  12. return $latest;
  13.  


так не работает тоже Warning: opendir() expects parameter 1 to be string
tonyio Отправлено: 21 Октября, 2014 - 16:15:09 • Тема: нужна помощб в оптимизации LEFT JOIN • Форум: Вопросы новичков

Ответов: 4
Просмотров: 207
SOLVED
Мелкий пишет:
Какого именно запроса?
Разумеется, написать схемы таблиц. Добавить смысл запроса и вывод explain'а.

Сходу очевидно, что left join тут лишь по глупости. count считает только не NULL-значения, результат идентичен inner join.

ты конечно прав! и я переделал - сделал дополнительный view и назвал его criusDashboard1 чтобы удобней было, но на время исполнения это не особо повлияло,и теперь пытаюсь сократить не делая дополнительный запрос на AllBrands а пытаюсь его получить сложением из array
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $queueArray = array('20130401');
  3. $metricsResult = array();
  4. $metricsResult['AllBrands']['Offered'] = 0;
  5.    foreach($queueArray AS $queue) {
  6.        
  7.         //count total dials
  8.             $sqlOffered = "SELECT COUNT(UniqueID) FROM criusDashboard1 WHERE date(CallDate) = '$runDate' and LENGTH(uniqueid) > 0 and CampaignID = '$queue'";
  9.             $resultOffered = mysql_query($sqlOffered, $link);
  10.             $resultValue = mysql_fetch_row($resultOffered);
  11.             $metricsResult[$queue]['Offered'] = $resultValue[0];
  12.             $metricsResult['AllBrands']['Offered'] += $resultValue[0];
  13.  


AllBrands это общая сумма для всех компаний(в будующем добавлю более) но раньше сумма добывалась из базы, а теперь для экономии пытаюсь посчитать наместе.

все заработало!
tonyio Отправлено: 20 Октября, 2014 - 18:18:42 • Тема: нужна помощб в оптимизации LEFT JOIN • Форум: Вопросы новичков

Ответов: 4
Просмотров: 207
сделал все индексы,но обработка всеравно занимает около минуты, если есть советы как ускорить это.
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2.  $queueArray = array('AllSales','VIR2831212','VIR2831213','VIR2831214','VIR2831215','VIR6875499','AllBrands','AllOmaha');
  3.        $allOmaha = "('VIR2831212','VIR2831213','VIR2831214','VIR2831215','VIR6875499')";
  4.        $allQueues = "('AllSales','VIR2831212','VIR2831213','VIR2831214','VIR2831215','VIR6875499')";
  5.   //count sales
  6.             IF ($queue == 'AllBrands') {
  7.                   $sqlSales = "SELECT COUNT(vicidial_campaign_statuses.status) FROM vicidial_agent_log LEFT JOIN vicidial_campaign_statuses ON vicidial_campaign_statuses.status = vicidial_agent_log.status and vicidial_campaign_statuses.campaign_id = vicidial_agent_log.campaign_id WHERE date(vicidial_agent_log.event_time) = '$runDate' AND vicidial_agent_log.campaign_id IN $allQueues AND sale = 'Y' AND vicidial_campaign_statuses.campaign_id IN $allQueues";
  8.             }
  9.                         else IF ($queue == 'AllOmaha')  {
  10.                 $sqlSales = "SELECT COUNT(vicidial_campaign_statuses.status) FROM vicidial_agent_log LEFT JOIN vicidial_campaign_statuses ON vicidial_campaign_statuses.status = vicidial_agent_log.status and vicidial_campaign_statuses.campaign_id = vicidial_agent_log.campaign_id WHERE date(vicidial_agent_log.event_time) = '$runDate' AND vicidial_agent_log.campaign_id IN $allOmaha AND sale = 'Y' AND vicidial_campaign_statuses.campaign_id IN $allOmaha";
  11.             }
  12.             else {
  13.                 $sqlSales = "SELECT COUNT(vicidial_campaign_statuses.status) FROM vicidial_agent_log LEFT JOIN vicidial_campaign_statuses ON vicidial_campaign_statuses.status = vicidial_agent_log.status and vicidial_campaign_statuses.campaign_id = vicidial_agent_log.campaign_id WHERE date(vicidial_agent_log.event_time) = '$runDate' AND vicidial_agent_log.campaign_id = '$queue' AND sale = 'Y' AND vicidial_campaign_statuses.campaign_id = '$queue'";
  14.             }
  15.             //echo $sqlSales;
  16.              $resultSales= mysql_query($sqlSales, $link);
  17.             $resultValue = mysql_fetch_row($resultSales);
  18.             $metricsResult[$queue]['Sales'] = $resultValue[0];
  19.  
  20.  


знаю выглялит громоздко,но так пока легче.
tonyio Отправлено: 16 Октября, 2014 - 17:09:00 • Тема: загрузка/чередоваение 2-х существующих страниц. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 172
большое спасибо!
tonyio Отправлено: 16 Октября, 2014 - 15:18:12 • Тема: загрузка/чередоваение 2-х существующих страниц. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 172
додумался до этого.

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(document).ready(function() {
  3.  var myarray = ["rtDashboardIn.php", "rtDashboardOut.php"];
  4.  realTimeUpdate();  // this will call only one time thats first body load time
  5.  refreshRealTime = setInterval("realTimeUpdate()", 30000);  // this will call each 30000ms
  6. });
  7.  
  8. function realTimeUpdate() {
  9.     var myarray = ["rtDashboardIn.php", "rtDashboardOut.php"]
  10.        //console.log(myarray);
  11.    $.each(myarray, function(x,v){
  12.         if (typeof myActivePage == 'undefined') {
  13.              $.ajax({
  14.         type: "GET",
  15.                 url: 'realTimeDashboardOut.php',
  16.                success: function(txt) {
  17.             $("#rtResults").html(txt);
  18.             var myActivePage = 'realTimeDashboardOut.php';
  19.         }
  20.         })
  21.     }
  22.     else {
  23.        if (v != myActivePage) {
  24.        //console.log(x);
  25.        //console.log(v);
  26.             $.ajax({
  27.         type: "GET",
  28.              url: v,
  29.                  success: function(txt) {
  30.             $("#rtResults").html(txt);
  31.             var myActivePage = v;
  32.         }
  33.    });
  34.        }
  35.    }
  36.          });
  37. }
  38.  
  39.  
  40.    
  41.  
  42.  



но это странички не переключает
tonyio Отправлено: 15 Октября, 2014 - 22:57:51 • Тема: загрузка/чередоваение 2-х существующих страниц. • Форум: Вопросы новичков

Ответов: 3
Просмотров: 172
есть 2 странички на данный момемент каждая из них обновляется сама по себе на 2-х разных вкладках в браузере таким образом:
CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function() {
  2.  realTimeUpdate();  // this will call only one time thats first body load time
  3.  refreshRealTime = setInterval("realTimeUpdate()", 10000);  // this will call each 10000ms
  4. });
  5.  
  6. function realTimeUpdate() {
  7.         console.log('RT Update Ran');
  8.     $.ajax({
  9.         type: "GET",
  10.           url: "realTimeDashboardIn.php",
  11.         //url: "realTimeDashboardOut.php",
  12.         success: function(txt) {
  13.              $("#rtResults").html(txt);
  14.         }
  15.     });
  16. }

нужно чтоб эти странички открывались по очерени в одном и том же окне.
прошу подсказать т.к. в jquery не силен. понимаю что нужно создать array и foreach(var myarray = new Array ("rtDashboardIn.php","rtDashboardOut.php");), но увы не могу допетрить.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB