За последние 24 часа нас посетили 72617 программистов и 3032 робота. Сейчас ищут 1470 программистов ...

file_put_contents создает пустой файл

Тема в разделе "PHP для новичков", создана пользователем Dron-Boy, 17 апр 2017.

  1. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    PHP:
    1.     foreach($mas_prod2 as $val){
    2.     $URL =  $val['picture0'];
    3.     if(!is_array($URL)){
    4.     $rus = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
    5.     $lat = array('A', 'B', 'V', 'G', 'D', 'E', 'E', 'Gh', 'Z', 'I', 'Y', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'C', 'Ch', 'Sh', 'Sch', 'Y', 'Y', 'Y', 'E', 'Yu', 'Ya', 'a', 'b', 'v', 'g', 'd', 'e', 'e', 'gh', 'z', 'i', 'y', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'c', 'ch', 'sh', 'sch', 'y', 'y', 'y', 'e', 'yu', 'ya');
    6.     $name = str_replace($rus, $lat, $val['name']);
    7.     $name_file = $name.time();
    8.     if(!is_dir("js/$name")){
    9.         $path = mkdir("js/$name", 0700);
    10.     }
    11.     $path = "js/$name";
    12.    
    13.    
    14.     if($contents = file_get_contents($URL)){
    15.         echo 'yes';
    16.     }else{
    17.         echo 'no';
    18.     }
    19.    
    20.    
    21.     $res = file_put_contents($path."/$name_file.png", $contents );
    22.     echo $contents;
    23.     echo'<br>';
    24.    
    25.     }
    Вобщем скрипт работает когда не в цикле а когда в цикл запихиваю создает пустые файлы почему?
     
  2. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Поискал еще не много оказалось не проблема не с file_put_content a file_get_contents она пишет ошибку типа
    PHP:
    1. file_get_contents(url): failed to open stream
    и это только в цикле почему?
     
  3. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    а в браузере этот url открывается?
     
  4. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    да.
    --- Добавлено ---
    я же говорю когда его не в цикле пускаешь то все работает. а когда в цикле он ошибку выдает. и создает пустой файл
     
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    в выложенном коде не все фигурные скобки закрыты.
     
  6. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    а в коде все закрыты.
     
  7. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    судя по этому условию
    $URL может быть массивом, а массив нельзя передавать в file_get_contents
     
  8. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    для этого и написано условие что бы если массив он этот код не выполнял.
     
  9. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @Dron-Boy из-за отсутствия форматирования код плохо читается. В любом случае, в конкретном элементе, урл пустой или не корректный. Попробуй сделать var_dump($URL); перед file_get_contents.
     
  10. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Вот урлы через var_dump
    PHP:
    1. string(81) " https://tytmodno.com/image/data/17/17d6a578-dfd3-11e2-8d6e-8c89a5d9e6b9-27.jpeg "
    2. nostring(80) " https://tytmodno.com/image/data/17/17d6a578-dfd3-11e2-8d6e-8c89a5d9e6b9-8.jpeg "
    3. nostring(81) " https://tytmodno.com/image/data/17/17d6a578-dfd3-11e2-8d6e-8c89a5d9e6b9-21.jpeg "
    4. nostring(80) " https://tytmodno.com/image/data/17/17d6a578-dfd3-11e2-8d6e-8c89a5d9e6b9-9.jpeg "
    5. nostring(81) " https://tytmodno.com/image/data/17/17d6a578-dfd3-11e2-8d6e-8c89a5d9e6b9-20.jpeg "
    6. nostring(81) " https://tytmodno.com/image/data/17/17d6a578-dfd3-11e2-8d6e-8c89a5d9e6b9-32.jpeg "
    7. nostring(80) " https://tytmodno.com/image/data/17/17d6a587-dfd3-11e2-8d6e-8c89a5d9e6b9-9.jpeg "
    8. nostring(81) " https://tytmodno.com/image/data/17/17d6a587-dfd3-11e2-8d6e-8c89a5d9e6b9-34.jpeg "
    9. nostring(78) " https://tytmodno.com/image/data/13/1368da0b-fd18-11e3-89e1-74d02ba27e3b.jpeg "
    10. nostring(78) " https://tytmodno.com/image/data/62/62c93107-dfd5-11e2-8d6e-8c89a5d9e6b9.jpeg "
     
  11. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @Dron-Boy ну так у тебя тут пробелы в начале в конце урла
    --- Добавлено ---
    trim()
     
    Dron-Boy нравится это.
  12. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    блин. надеюсь это. тупанул жестко. блин.
    --- Добавлено ---
    да это оно