[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP+Linux+SQL
Jaivan
Всем привет!
Варюсь в каше недолго ). Написал скрипт по выводу из файла необходимых данных в таблицу. С денвером на Windows все работает отлично. Необходимо подключить скрипт на Linux, установленный на виртуальную машину. Базу развернул, необходимые файлы кинул в /var/www/html/<название сайта> (через ftp). В сприпте файл вначале загружается на сервер (обычный txt), не доходит каким образом должна производиться загрузка файла на Linux и похоже вообще нет взаимосвязи между формой и скриптом.
Кто-нибудь может помочь решить эту проблему либо направить на соответствующий материал (может сталкивались с подобными задачами), заранее спасибо.
Текст скрипта для Windows:
PHP
<?
require(
"commonup.html");
//#####################################################################
//открытие, копирование и изменение файла
if ($file_name != ""){
    @
copy("$file""Z:\home\abd.ru\www\\$file_name")
        or die (
"Невозможно скопировать файл.");
        
$fp fopen("Z:\home\abd.ru\www\\$file_name""r");
        
$fpcp fopen("Z:\home\abd.ru\www\\temp.txt""w");
        
$flag 0;
        while(!
feof($fp)) {
            
$str fgets($fp);
            if(
$flag!=0){    
            
$str addslashes($str);
            
fputs($fpcp$str);
        }
        
$flag++;
}
fclose($fp);
fclose($fpcp);
}
//#####################################################################
//Работа с базой данных abd
@$db mysql_pconnect("localhost""root""");

if (!
$db) {
    echo 
"Нет соединения с базой данных!";
    exit();
}
if(!
mysql_select_db"abd")){
    echo 
"База не активна";
}
$query "TRUNCATE TABLE `abd`";
$result mysql_query($query);//отчистка таблицы
$query "LOAD DATA LOCAL INFILE 'Z:\\\\home\\\\abd.ru\\\\www\\\\temp.txt' REPLACE INTO TABLE `abd` FIELDS TERMINATED BY ',' ESCAPED BY '\\\\' LINES TERMINATED BY '\\n'";
$result mysql_query($query);
//#####################################################################
//составление запроса
$query "SELECT dateTimeOrigination, dateTimeConnect, dateTimeDisconnect, callingPartyNumber, originalCalledPartyNumber, finalCalledPartyNumber, duration FROM abd WHERE 1";

if(
trim($dateTimeConnect)){//1
    
$aray_time explode("."trim($dateTimeConnect));
    
$dateTimeConnect mktime($aray_time[3], $aray_time[4], $aray_time[5], $aray_time[1], $aray_time[0], $aray_time[2]);
    
$query $query." AND dateTimeConnect=$dateTimeConnect";
}
if(
trim($dateTimeDisconnect)){//2
    
$aray_time explode("."trim($dateTimeDisconnect));
    
$dateTimeDisconnect mktime($aray_time[3], $aray_time[4], $aray_time[5], $aray_time[1], $aray_time[0], $aray_time[2]);
    
$query $query." AND dateTimeDisconnect=$dateTimeDisconnect";
}
if(
trim($callingPartyNumber))//3
    
$query $query." AND callingPartyNumber=$callingPartyNumber";

if(
trim($originalCalledPartyNumber))//4
    
$query $query." AND originalCalledPartyNumber=$originalCalledPartyNumber";

if(
trim($finalCalledPartyNumber))//5
    
$query $query." AND finalCalledPartyNumber=$finalCalledPartyNumber";

if(
trim($duration)||(string)trim($duration)=="0")//6
    
$query $query." AND duration=$duration";

if(
trim($dateTimeOrigination)){//2
    
$aray_time explode("."trim($dateTimeOrigination));
    
$dateTimeOrigination mktime($aray_time[3], $aray_time[4], $aray_time[5], $aray_time[1], $aray_time[0], $aray_time[2]);
    
$query $query." AND dateTimeOrigination=$dateTimeOrigination";
}
if(
trim($cw))//7
    
$query $query." LIMIT 0, $cw";
//#####################################################################
//вывод таблицы через базу
$result mysql_query($query);
$num_results mysql_num_rows($result);
$num_fields mysql_num_fields($result);

echo 
"<table class=bar-status align=center border=0 cellpadding=2 cellspacing=1 width=75%>";
echo 
"<tr>";
    echo 
"<td align=right></td>";
    echo 
"<td align=center bgcolor=#cddeff>Попытка соединения</td>";
    echo 
"<td align=center bgcolor=#cddeff>Начало соединения</td>";
    echo 
"<td align=center bgcolor=#cddeff>Конец соединения</td>";
    echo 
"<td align=center bgcolor=#cddeff>Номер звонящего</td>";
    echo 
"<td align=center bgcolor=#cddeff>Номер вызываемого</td>";
    echo 
"<td align=center bgcolor=#cddeff>Переадресация</td>";
    echo 
"<td align=center bgcolor=#cddeff>Длительность</td>";
echo 
"</tr>";

for(
$i=0;$i<$num_results;$i++){
    
$row[$i] = mysql_fetch_row($result);
    echo 
"<tr>";
    
$ii=$i+1;
    echo 
"<td bgcolor=#cddeff align=right>".$ii."</td>";//вывод номера строки
    
for($j=0;$j<$num_fields;$j++){
        if(
$j==0||$j==1||$j==2){
            
$row[$i][$j] = date("d.m.y.H.i.s",$row[$i][$j]);
        }
        echo 
"<td align=right>".$row[$i][$j]."</td>";
    }
    echo 
"</tr>";
}

echo 
"</table>";
require(
"commondown.html");


для Linux менял соответственно пути

зы: вообще есть более удобные решения для тестирования скриптов для подобных конфигураций?



Спустя 8 дней, 21 час, 28 минут, 40 секунд (15.01.2009 - 11:40) eugene pikalov написал(а):
Так разбираем

PHP
// что такое $filename ? Если входящая переменная то лучше используйте $_REQUEST[filename]

if ($file_name != ""){
// скопировать файл с именем $file в файл с именем "Z:\home\abd.ru\www\\$file_name". Переменная $file не определена. 
// здесь нужно чтобы Вы пояснили что вы хотите куда сохранять 
    
@copy("$file""Z:\home\abd.ru\www\\$file_name")
        or die (
"Невозможно скопировать файл.");

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.