За последние 24 часа нас посетили 17390 программистов и 1606 роботов. Сейчас ищут 932 программиста ...

Запись в файл

Тема в разделе "PHP для новичков", создана пользователем Romik_Maden, 2 фев 2010.

  1. Romik_Maden

    Romik_Maden Активный пользователь

    С нами с:
    31 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Украина, Львов
    Уже все перепробовал ничего нового не получается, либо создает пустой файл либо ваще не создает либо ваще ошибка :( :shock:

    Код такой:
    PHP:
    1.  
    2. <?php
    3. $filephp = "f.txt";
    4.  $code = file('23.txt');
    5.  $fd = fopen($filephp, "w");
    6.  fwrite($fd,$code);
    7.   fclose($fd);
    8. ?>
    9.  
    Его задача создать файл f.txt, и записать в него содержимое файла 23.txt
    Но все что вписывается в f.php "Array"

    Также пробовал сначала прочесть данные с 23.php, поместить в переменную, а потом вставить в f.php, так ваще ничего не вписывает.

    Какие еще есть варианты для этой задачи?

    Знаю сто это можно сделать в ручную но ради интереса хочу узнать КАК!
     
  2. Graph

    Graph Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    22
    Симпатии:
    0
    а заменить
    Код (Text):
    1. fwrite($fd,$code."/n");
    на
    Код (Text):
    1. foreach ($code as $v)
    2. fwrite($fd,$v."/n");
    а копировать файл не вариант?
     
  3. Romik_Maden

    Romik_Maden Активный пользователь

    С нами с:
    31 янв 2010
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Украина, Львов
    Graph

    Ето работает! СПС

    Есть ли еще варианты?
     
  4. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    или
    Код (Text):
    1. $code = file('23.php');
    на
    Код (Text):
    1. $code = file_get_contents('23.php');
    и "/n" на "\n", а лучше на PHP_EOL

    и раз уж идти в эту степь:
    Код (Text):
    1.  
    2.  $code = file_get_contents('new3.php');
    3.  file_put_contents('222.php',$code, FILE_APPEND);
     
  5. Graph

    Graph Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    22
    Симпатии:
    0
  6. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Graph
    А если надо не скопировать, а добавить к уже имеющемуся?
     
  7. Mikola7092

    Mikola7092 Активный пользователь

    С нами с:
    31 янв 2010
    Сообщения:
    9
    Симпатии:
    0
    Я как знаю вроде надо
    Код (Text):
    1.  
    2.   $fd = fopen($filephp, "w");
    Заменить
    Код (Text):
    1.  
    2.   $fd = fopen($filephp, "a+");
    А лучше в справочнике про функцию fopen почитайте там всё написано про это))
     
  8. Mikola7092

    Mikola7092 Активный пользователь

    С нами с:
    31 янв 2010
    Сообщения:
    9
    Симпатии:
    0
    Да точно!!
    r' открыт только для чтения; размещает файловый указатель в начале файла.
    'r+' открыт для чтения и записи; размещает файловый указатель в начале файла.
    'w' открыт только для записи; размещает файловый указатель в начале файла и усекает размер файла до нулевого размера. Если файл не существует - пытается создать его.
    'w+' открыт для чтения и записи; размещает файловый указатель в начале файла и усекает размер файла до нулевого размера. Если файл не существует - пытается создать его.
    'a' открыт только для записи; Размещает файловый указатель в конце файла. Если файл не существует - пытается создать его.
    'a+' открыт для чтения и записи; Размещает файловый указатель в конце файла. Если файл не существует - пытается создать его.
    'x' открыт только для записи; размещает файловый указатель в начале файла. Если файл уже существует, то fopen() завершается с ошибкой и возвращает FALSE после чего выдаётся предупреждение на уровне E_WARNING. Если файл не существует - осуществляется попытка его создания. Это эквивалентно флагам O_EXCL|O_CREAT для системного вызова open(2).
    'x+' открыт для чтения и записи; Если файл уже существует, то fopen() завершается с ошибкой и возвращает FALSE после чего выдаётся предупреждение на уровне E_WARNING. Если файл не существует - осуществляется попытка его создания. Это эквивалентно флагам O_EXCL|O_CREAT для системного вызова open(2).