Кто нить знает почему не получается перезаписать текстовый файл созданный скриптом php на сервере, содержащий utf-8 текст и имеющий расширение .asd ))) (при работе через тотал коммандер) пишет что не может закачать и все
Такой запрос не проходит... Попробовал его на простейшем sql скрипте: PHP: CREATE TABLE STUDENTS( N_STUDENTSBOOK INT PRIMARY KEY, LAST_NAME CHAR(15), FIRST_NAME CHAR(10), PATRONYMIC CHAR(15), N_GROUP INT, CELL CHAR(10), CHECK (N_GROUP IN (41,42, 43, 44, 45))); CREATE TABLE STUDIES( N_STUDY INT PRIMARY KEY, STUDY CHAR(20), TEACHER_LASTNAME CHAR(15), CHECK (N_STUDY > 0)); CREATE TABLE SESSION( N_STUDENTSBOOK INT, N_STUDY INT, MARK INT, PRIMARY KEY (N_STUDENTSBOOK, N_STUDY), FOREIGN KEY (N_STUDENTSBOOK) REFERENCES STUDENTS(N_STUDENTSBOOK), FOREIGN KEY (N_STUDY) REFERENCES STUDIES(N_STUDY), CHECK (MARK IN (2, 3, 4 ,5))); и на дампе базы данных полученной с помощью этого скрипта: PHP: -- MySQL dump 10.11 -- -- Host: localhost Database: university -- ------------------------------------------------------ -- Server version 5.0.67-community-nt /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `session` -- DROP TABLE IF EXISTS `session`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `session` ( `N_STUDENTSBOOK` int(11) NOT NULL default '0', `N_STUDY` int(11) NOT NULL default '0', `MARK` int(11) default NULL, PRIMARY KEY (`N_STUDENTSBOOK`,`N_STUDY`), KEY `N_STUDY` (`N_STUDY`), CONSTRAINT `session_ibfk_1` FOREIGN KEY (`N_STUDENTSBOOK`) REFERENCES `students` (`N_STUDENTSBOOK`), CONSTRAINT `session_ibfk_2` FOREIGN KEY (`N_STUDY`) REFERENCES `studies` (`N_STUDY`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; SET character_set_client = @saved_cs_client; -- -- Dumping data for table `session` -- LOCK TABLES `session` WRITE; /*!40000 ALTER TABLE `session` DISABLE KEYS */; /*!40000 ALTER TABLE `session` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `students` -- DROP TABLE IF EXISTS `students`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `students` ( `N_STUDENTSBOOK` int(11) NOT NULL, `LAST_NAME` char(15) default NULL, `FIRST_NAME` char(10) default NULL, `PATRONYMIC` char(15) default NULL, `N_GROUP` int(11) default NULL, `CELL` char(10) default NULL, PRIMARY KEY (`N_STUDENTSBOOK`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; SET character_set_client = @saved_cs_client; -- -- Dumping data for table `students` -- LOCK TABLES `students` WRITE; /*!40000 ALTER TABLE `students` DISABLE KEYS */; /*!40000 ALTER TABLE `students` ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table `studies` -- DROP TABLE IF EXISTS `studies`; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; CREATE TABLE `studies` ( `N_STUDY` int(11) NOT NULL, `STUDY` char(20) default NULL, `TEACHER_LASTNAME` char(15) default NULL, PRIMARY KEY (`N_STUDY`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251; SET character_set_client = @saved_cs_client; -- -- Dumping data for table `studies` -- LOCK TABLES `studies` WRITE; /*!40000 ALTER TABLE `studies` DISABLE KEYS */; /*!40000 ALTER TABLE `studies` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2010-04-28 11:02:05 В обоих случаях mysql_query(file_get_contents('dump.sql')) возвращает нулевое значение... PHP: <?php $dblocation = "localhost"; $dbname = "university"; $dbuser = "root"; $dbpasswd = "!qaz2wsx"; $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); if (!$dbcnx) { echo "<p>К сожалению, не доступен сервер mySQL</p>"; exit(); } if (!@mysql_select_db($dbname,$dbcnx) ) { echo "<p>К сожалению, не доступна база данных</p>"; exit(); } $res = mysql_query(file_get_contents('1.sql')); if(!$res) { echo "<p>Ошибка в запросе</p>"; exit(); } ?> Срабатывает if(!$res)... Файл 1.sql лежит в той же папке что и php файл... Может я что-то не так делаю?
PHP: $myquery = file_get_contents('dump.sql'); $myquery = str_replace("\r\n", ' ', $myquery); $res = mysql_query($myquery); Вот так работает, если в файле dump.sql содержится только 1 SQL-запрос. Это не интересно. Попробуем разобраться с mysqli_multi_query.
есть php скрипт 1.php с многочисленными переменными, нужно в другом php скрипте 2.php вывести 1 переменную с 1.php. как это реализовать? include и require не аомогают, ибо они все выводят
подробнее о методах get, post, о сессиях и кукис можно узнать прочитав мануал, и вообще все переменные целесообразно выносить в один в файл
Если для тебя новый абзац это двойной перевод строки, то вот: PHP: <?php $fin = file_get_contents('in.txt'); $array = explode("\r\n\r\n", $fin); sort($array); $fout = fopen('out.txt', 'w+'); fwrite($fout, implode("\r\n\r\n", $array)); fclose($fout); ?> исходный файл - in.txt, на выходе out.txt...
10, 100, 90, 80, 70 "Серцева недостатність – це стан, при якому: 11, 100 "Серце не може ефективно забезпечити метаболічні потреби організму 12, 0 "Наявна невідповідність між потребою і доставкою кисню до міокарда 13, 0 "Погіршується насосна функція серця 14, 0 "Погіршується здатність до наповнення шлуночків серця # 20, 100, 90, 80, 70 "Особливості епідеміології серцевої недостатності: 21, 25 "Поширеність у загальній популяції 0,5-4% 22, 25 "Захворюваність 0,15-0,5% 23, 25 "Смертність до 50 на рік 24, 25 "Зростання поширеності залежно від віку 25, 0 "Більшість економічних витрат пов’язані з амбулаторним лікуванням хворих # вот. абзацы - это то, что между первой " и #, то есть Серцева недостатність – це стан, при якому: 11, 100 "Серце не може ефективно забезпечити метаболічні потреби організму 12, 0 "Наявна невідповідність між потребою і доставкою кисню до міокарда 13, 0 "Погіршується насосна функція серця 14, 0 "Погіршується здатність до наповнення шлуночків серця и Особливості епідеміології серцевої недостатності: 21, 25 "Поширеність у загальній популяції 0,5-4% 22, 25 "Захворюваність 0,15-0,5% 23, 25 "Смертність до 50 на рік 24, 25 "Зростання поширеності залежно від віку 25, 0 "Більшість економічних витрат пов’язані з амбулаторним лікуванням хворих соответственно
PenSpinner, так..?! PHP: <?php $fin = file_get_contents('in.txt'); preg_match_all('# "(.*)\##Us', $fin, $result); sort($result[1]); $fout = fopen('out.txt', 'w+'); fwrite($fout, implode("\r\n\r\n", $result[1])); fclose($fout); ?>
есть массив типа такого PHP: $lol = array_merge ($name, $link, $time); так вот нужно из него удалить возможные дубли из одинаковых вариантов из массивов $name и $time, т.е. например у нас в массиве $name обнаружилось 3 одинаковых записи, дальше по аналогичным индексам идет проверка в массиве $time и если например все 3 совпадают то удалить 2 и оставить 1 как уник запись или если 2 записей в $time совпадают то удалить 1 и 1 оставить как уник, по удаленным индексам массивах нужно удалить индексы с массива $link и на выходе получить массив без повторов. Я так понимаю здесь array_unique не катит... как вот это лучше реализовать с минимум головной боли ?
Кто нить подскажет скрипт для сайта чтобы когда я открывал сайт выскакивало окно типо загрузите файл и я мог спокойно нажать либо да либо нет и скачать файл