1 Востаннє редагувалося ostap34PHP (07.05.2017 22:01:11)

Тема: Проблема при створені файлу з даними

Привіт програмістам,  дивна ситуація:
1.В мене на сторінці підключено редактор ckeditor
2.Назва файлу береться з перших слів введених в $_POST["editor1"] (на 1-5 рядках)
3.http://replace.org.ua/topic/4899/
4.Коли змінна name4 = чомусь небудь, то все ок, помилки нема, а коли $name 4 щось виконує, то є такі помилки:

Warning: fopen(../content/test post hello world, more seven .html): failed to open stream: No such file or directory in C:\xampp\htdocs\elib.me\admin\index.php on line 9

Warning: fwrite() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\elib.me\admin\index.php on line 12
1 test_post_hello_world,_more_seven
 .html 2017-May-Sun Wrote: 241 bytes
        
$text = $_POST["editor1"];
$name = substr($text,0,70);
$name2 = CyrillicToLatin($name);
$name3 = strip_tags($name2);
$name4 = str_replace(' ', '_', $name3);

$TXT = "test text";

$fp = fopen("../content/$name4.html", "w");


fwrite($fp, $TXT);
Буду вдячний!
"Борітеся – поборете, Вам Бог помагає!",
"Учітесь, читайте, І чужому научайтесь, Й свого не цурайтесь"  - Тарас Шевченко
"Лупайте сю скалу!" - Іван Франко

2

Re: Проблема при створені файлу з даними

Що значить "змінна щось виконує"? Змінна може лише зберігати значення. Будь ласка, поясніть нормально.
І можете до купи навести значення змінних у цьому фрагменті?

Подякували: ostap34PHP1

3

Re: Проблема при створені файлу з даними

koala написав:

Що значить "змінна щось виконує"? Змінна може лише зберігати значення.

Я мав на увазі в ній є якась функція, наприклад

$name3 = strip_tags($name2);
"Борітеся – поборете, Вам Бог помагає!",
"Учітесь, читайте, І чужому научайтесь, Й свого не цурайтесь"  - Тарас Шевченко
"Лупайте сю скалу!" - Іван Франко

4 Востаннє редагувалося ostap34PHP (21.06.2018 15:25:48)

Re: Проблема при створені файлу з даними

koala написав:

Будь ласка, поясніть нормально.

не створює файл

"Борітеся – поборете, Вам Бог помагає!",
"Учітесь, читайте, І чужому научайтесь, Й свого не цурайтесь"  - Тарас Шевченко
"Лупайте сю скалу!" - Іван Франко

5

Re: Проблема при створені файлу з даними

так, читайте що пише в stderr
далі printf наше все, виведіть що повинно бути в name4,
зробіть виключну ситуацію
аналог

if($fp = fopen("../content/$name4.html", "w") == 0) {
print("Error open file $name4");
exit(0);
...
}

Ще питання, fclose() функцію використовуєте ?

- Поганому трояну фаєрвол заважає
- Ніколи не програмуйте та не пийте пиво
Якщо ви з першого разу написали програму, в якій немає жодної помилки, повідомте про це системного програмісту: він виправить помилки в компіляторі
Подякували: ostap34PHP1

6

Re: Проблема при створені файлу з даними

ost.bregin2014 написав:
koala написав:

Що значить "змінна щось виконує"? Змінна може лише зберігати значення.

Я мав на увазі в ній є якась функція, наприклад

$name3 = strip_tags($name2);

*WALL*
Запам'ятовуємо: оператор = присвоює значення лівому операнду, в цьому випадку - змінній. Значення він бере з правого операнда. В змінній немає ніякої функції; функція виконується і її результат записується оператором = у змінну. Якщо ви збережете результат роботи цієї функції деінде і прямо його присвоїте, то результат роботи зі змінною буде абсолютно такий самий:

$name3 = strip_tags($name2);//якщо результатом роботи strip_tags($name2) буде, скажімо, "abc", то цей рядок АБСОЛЮТНО ТОЧНО еквівалентний
$name3 = "abc";

Тому ще раз прошу: покажіть значення всіх змінних, проблема десь у них (чи пов'язана із ними).

Подякували: ostap34PHP1

7 Востаннє редагувалося ostap34PHP (07.05.2017 23:16:25)

Re: Проблема при створені файлу з даними

koala написав:

Тому ще раз прошу: покажіть значення всіх змінних, проблема десь у них (чи пов'язана із ними).

*HI*

$text = "Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття Привіт, тестова стаття";//весь текст
$name = "Привіт, тестова стаття Привіт, тес";//обрізали
$name2 = "Privit, testova stattya Privit, tes";//перетворили в латиницю
$name3 = "Privit, testova stattya Privit, tes";//забрали html теги
$name4 = "Privit,_testova_stattya Privit,_tes";//замінили пробіл на символ '_' 
"Борітеся – поборете, Вам Бог помагає!",
"Учітесь, читайте, І чужому научайтесь, Й свого не цурайтесь"  - Тарас Шевченко
"Лупайте сю скалу!" - Іван Франко

8

Re: Проблема при створені файлу з даними

ЛЮДИ!

якщо змінна $text має довгий текст, і він введений українською, то все працює! *YAHOO*

Дякую всім!
"Борітеся – поборете, Вам Бог помагає!",
"Учітесь, читайте, І чужому научайтесь, Й свого не цурайтесь"  - Тарас Шевченко
"Лупайте сю скалу!" - Іван Франко

9

Re: Проблема при створені файлу з даними

У вас Windows?
В іменах файлів заборонені деякі символи (а саме, *|:"<>?/).

Подякували: ostap34PHP1

10 Востаннє редагувалося Sensetivity (08.05.2017 20:16:15)

Re: Проблема при створені файлу з даними

А чому не юзати file_put_contents?
Невже вам справді потрібно блокувати доступ до файлу на деякий час?

В змінній немає ніякої функції;

Уточняйте. Що може бути таке замикання.

$fn = function($a, $b) {
return $a + $b;
};

echo $fn(2, 5); // 7
Подякували: 221VOLT, ostap34PHP2

11

Re: Проблема при створені файлу з даними

koala написав:

У вас Windows?
В іменах файлів заборонені деякі символи (а саме, *|:"<>?/).

так, алe скажіть що мож відбуватись і на linux, будь-ласка :)

"Борітеся – поборете, Вам Бог помагає!",
"Учітесь, читайте, І чужому научайтесь, Й свого не цурайтесь"  - Тарас Шевченко
"Лупайте сю скалу!" - Іван Франко

12

Re: Проблема при створені файлу з даними

Вибачте, що значить "що може відбуватись"? Багато чого може. Про це грубезні книжки пишуть. Якось конкретизуйте питання.

Подякували: ostap34PHP1

13

Re: Проблема при створені файлу з даними

ost.bregin2014 написав:
koala написав:

У вас Windows?
В іменах файлів заборонені деякі символи (а саме, *|:"<>?/).

так, алe скажіть що мож відбуватись і на linux, будь-ласка :)

В інтернетах є купа варіантів, як нормалізувати назву файлу. Від найпростіших типу time() . '.jpg' до усілякого роду транслітераторів та інфлекторів кирилиці / грецької  / арабської тощо.
На лінуксі скоріш за все не буде прав на папку :)

Подякували: ostap34PHP1

14

Re: Проблема при створені файлу з даними

Sensetivity написав:
ost.bregin2014 написав:
koala написав:

У вас Windows?
В іменах файлів заборонені деякі символи (а саме, *|:"<>?/).

так, алe скажіть що мож відбуватись і на linux, будь-ласка :)

В інтернетах є купа варіантів, як нормалізувати назву файлу. Від найпростіших типу time() . '.jpg' до усілякого роду транслітераторів та інфлекторів кирилиці / грецької  / арабської тощо.
На лінуксі скоріш за все не буде прав на папку :)

Вирішив, забрав всі спeц-символи!
"Борітеся – поборете, Вам Бог помагає!",
"Учітесь, читайте, І чужому научайтесь, Й свого не цурайтесь"  - Тарас Шевченко
"Лупайте сю скалу!" - Іван Франко