За последние 24 часа нас посетили 18368 программистов и 1634 робота. Сейчас ищут 1638 программистов ...

Создание файлов

Тема в разделе "PHP для новичков", создана пользователем Alexer, 8 май 2008.

  1. Alexer

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

    С нами с:
    13 апр 2008
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Москва
    Возможно ли создать файл на php?
     
  2. dAllonE

    dAllonE Guest

    Что мешает?

    Например:
    http://php.ru/manual/function.fopen.html
     
  3. +Sten+

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

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    Меня терзают смутные сомнения, что ТСу файл хочется создать на компьютере пользователя. 3 раза нет. На сервере - 3 раза да.
     
  4. dAllonE

    dAllonE Guest

    +Sten+, я тоже так подумал. Но решил до пояснений плохо о человеке не думать....
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А еще можно писать музыку...
     
  6. Alexer

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

    С нами с:
    13 апр 2008
    Сообщения:
    33
    Симпатии:
    0
    Адрес:
    Москва
    Создать файл я пытался именно на сервере.
    Теперь проблема, как записать в этот файл содержимое массива в столбик, а не в длинную строку: пытался записывать в ранее созданный пустой, файл в цикле? Итог: получена только последняя строка массива.

    Скрипт такой:
    $base = scandir('images/'.$_GET[gal]);
    for($l = 1; $l <= count($base); $l++)
    {
    $in = strpos($base[$l], '.jpg');//находим расширение .jpg
    if($in != '')//если оно присутствует
    {
    $path = $_SERVER['DOCUMENT_ROOT']."/main/images/".$_GET[gal]."/base.txt";
    file_put_contents($path, $base[$l]."\r\n");
    }
    }
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    file_put_contents используется для единичного добавления данных в файл. Эта функция на самом деле является комбинацией fopen+fwrite+fclose. При файле большого объема будет заметно падение производительности в вашем скрипте.

    strpos возвращает FALSE в случае ненахождения подстроки. FALSE - это FALSE, оно не равно '', поэтому сравнивать так нельзя. Читайте мануал strpos

    $path зачем задали в цикле? Он что меняется от итерации к итерации?

    PHP:
    1. <?php
    2. $base = scandir('images/'.$_GET[gal]);
    3. $path = $_SERVER['DOCUMENT_ROOT']."/main/images/".$_GET[gal]."/base.txt";
    4. $file_s = fopen($path, "a+");
    5. for($l = 1; $l <= count($base); $l++) {
    6.   if(strpos($base[$l], '.jpg') === true) {
    7.      fwrite($file_s, $base[$l]."\r\n");
    8.   }
    9. }
    10. fclose($file_s);
    11.  
    12. ?>
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Капец. Чтобы записать содержимое массива в столбик, надо:
    PHP:
    1. <?php
    2. $array=array('a','b','c','d','e','f','g');
    3. foreach ($array as $value)
    4. {
    5. $buff.=$value."\r\n";
    6. }
    7. $fp=fopen('file.txt','w');
    8. fwrite($fp,$buff);
    9. ?>
    А ты по-ходу, выдрал кусок кода из какого-то движка и не знаешь зачем он нужен.