|
Скрипт на PHP который читает файл txt | ☑ | ||
---|---|---|---|---|
0
ChunLee
20.10.16
✎
08:14
|
Доброе утро. Есть цель сделать скрипт на PHP, который читает txt файл с адресами файлов которые разделены "/" и каждый кодирует в base64 с кодировкой utf8 и объединяет в одну строку. Может кто делал такую вещь?
|
|||
1
Asmody
20.10.16
✎
08:36
|
(0) Файлы разделены '/'? Это кто ж такое придумал?
Но я ничего сложного не вижу, fopen() и дальше, дальше, потом fclose() |
|||
2
ChunLee
20.10.16
✎
13:40
|
Уважаемые форумчане, подскажите какой прогой можно воспользоваться для написания и проверки кода PHP, что бы код подсвечивался, были всякие подсказки и можно было отлаживать написанный скипт. Я написал вот такой код. $text = fopen(C:\Keys\Docum\Files.txt, "r");
$len=strlen($text); //длина строки $x=1; while ($x<=$len) $allfilesbase64=''; $sub=','; $pos=strpos($text,$sub,$x); if ($pos<=$len) { $cut=substr($text,$x,$pos); $allfilesbase64=$allfilesbase64+base64_encode($cut); $x=$pos; } else { $cut=substr($text,$x,$len); base64_encode($cut); $allfilesbase64=$allfilesbase64+base64_encode($cut); } endwhile; выходит следующая ошибка |
|||
3
ChunLee
20.10.16
✎
13:40
|
Parse error: syntax error, unexpected ':' in Z:\home\10.68.32.61\www\Undecodd\index.php on line 2
пользуюсь последним denwer-ом |
|||
4
ChunLee
20.10.16
✎
13:41
|
<?php
$text = fopen(C:\Keys\Docum\Files.txt, "r"); $len=strlen($text); //длина строки $x=1; while ($x<=$len) $allfilesbase64='';10. $sub=','; $pos=strpos($text,$sub,$x); if ($pos<=$len) { $cut=substr($text,$x,$pos); $allfilesbase64=$allfilesbase64+base64_encode($cut); $x=$pos; } else { $cut=substr($text,$x,$len); base64_encode($cut); $allfilesbase64=$allfilesbase64+base64_encode($cut); } endwhile; это полный код из файла |
|||
5
Gary417
20.10.16
✎
13:42
|
(3) Судя по ошибке вы чтото не так делаете (файл не сохранили?)
|
|||
6
Gary417
20.10.16
✎
13:43
|
(2) а не, в кавычках путь же должен быть
|
|||
7
Gary417
20.10.16
✎
13:43
|
(2) +PHPStorm, netbeans
|
|||
8
ChunLee
20.10.16
✎
13:46
|
Исправил, теперь ругается на 7 строку
|
|||
9
ChunLee
20.10.16
✎
13:47
|
$sub=','
я этой строкой хотел присвоить значение "," переменной $sub |
|||
10
Gary417
20.10.16
✎
13:48
|
(9) в 6 строке ковычки закройте
|
|||
11
Gary417
20.10.16
✎
13:48
|
и
1) поставьте себе IDE 2) читайте ошибки же! там всё написано |
|||
12
mistеr
20.10.16
✎
13:48
|
(2) Изучить язык и разобраться в ошибках не предлагать?
Notepad++ нормально подсвечивает. |
|||
13
ChunLee
20.10.16
✎
13:52
|
Parse error: syntax error, unexpected T_ENDWHILE in Z:\home\10.68.32.61\www\Undecodd\index.php on line 21
на этом застрял. Через IDE можно запустить отладку? |
|||
14
akaBrr
20.10.16
✎
13:54
|
(0) Вам бы на Тостер.
|
|||
15
ChunLee
20.10.16
✎
14:00
|
Нашел сайт http://ideone.com/. На нем можно протестировать свой код, он сразу подсказывает ошибки. Все исправил отладил, реезультат получился такой
<?php $text = fopen("C:\Keys\Docum\Files.txt", "r"); $len=strlen($text); //длина строки $x=1; while ($x<=$len){ $allfilesbase64=''; $sub=','; $pos=strpos($text,$sub,$x); if ($pos<=$len) { $cut=substr($text,$x,$pos); $allfilesbase64=$allfilesbase64+base64_encode($cut); $x=$pos; } else { $cut=substr($text,$x,$len); base64_encode($cut); $allfilesbase64=$allfilesbase64+base64_encode($cut); } } echo $allfilesbase64 ?> всем спасибо |
|||
16
Gary417
20.10.16
✎
14:00
|
(13) <Через IDE можно запустить отладку?>
Можно, но её нужно настроить, это несколько геморройное занятие |
|||
17
arsik
гуру
20.10.16
✎
14:04
|
(16) Это вам не 1С, тут думать надо.
|
|||
18
ChunLee
20.10.16
✎
14:16
|
Народ подскажите если strpos не находит нужные данные в строке, какое значение он возвращает?
|
|||
19
arsik
гуру
20.10.16
✎
14:19
|
(18) Совсем не учат поиском пользоваться?
|
|||
20
Gary417
20.10.16
✎
14:20
|
||||
21
Asmody
20.10.16
✎
14:50
|
вот зачем я это делаю?!
|
|||
22
Asmody
20.10.16
✎
14:54
|
Только в explode() параметры наоборот: explode($delimite, $content). Я всегда их путаю.
|
|||
23
arsik
гуру
20.10.16
✎
15:00
|
(21) Ну вот сам путаешься. Давно уже пора кнопку оформления
вынести на форму, вместо проверки орфографии. Она уже во все браузеры встроена. |
|||
24
arsik
гуру
20.10.16
✎
15:01
|
+(23) и отключить авто оформление, иногда такой пипец, читать невозможно.
|
|||
25
Asmody
20.10.16
✎
15:03
|
(23) теги
работают только в ветках 1С |
|||
26
Asmody
20.10.16
✎
15:05
|
Вот так правильно: (только на "живых" проектах так писать не надо)
<?php $file_name = 'some_file_name.txt'; $delimiter = ','; $content = file_get_contents($file_name); $result = array_reduce( explode($delimiter,$content), function($a,$i) { return $a.base64_encode($i); }, "" ); echo($result); |
|||
27
arsik
гуру
20.10.16
✎
15:19
|
Надо проверить
Нужно, нужно |
|||
28
arsik
гуру
20.10.16
✎
15:20
|
Странно. У меня работают.
|
|||
29
arsik
гуру
20.10.16
✎
15:23
|
(25) И да еще нужен спойлер тег - портянки сворачивать.
|
|||
30
Gary417
20.10.16
✎
16:02
|
(21) (28) вот я обратил внимание все всегда путают слеши
в винде пишут c:/windows/system32, в юниксе \etc\apache2\ ... и блин тут тоже, тег [\1C] как так жеж |
|||
31
Gary417
20.10.16
✎
16:04
|
обратные слеши используются ТОЛЬКО в винде в адресах файловой системы, и больше нигде. как можно это путать не понимаю
|
|||
32
Asmody
20.10.16
✎
17:33
|
(29) Спойлер сам умный
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |