BG Development


Страници: (6) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Четене на файл от компютъра
Карата
Публикувано на: 13-03-2019, 10:27
Quote Post



Име: Радостин Каракерезов
Група: Потребител
Ранг: Новопостъпил

Мнения: 14
Регистриран на: 12.03.19



Здравейте,
Вчера се регистрирах във вашия форум, след като няколко дни търся из Google-то решение на един проблем и не мога да го реша.
Не мога да ви нарича колеги, защото програмирам на PHP за собствено удоволствие (е имам няколко направени сайта, но това не е за хвалене). По принцип се занимавам със счетоводство и за нуждите на бизнеса ми си правя помощни програми УЕБ базирани и имам един проблем.
Трябва да прочета test.csv файл от диска на компа си и да го вкарам в MySQL база от данни. И тук е спънката. Ето то код-чето
CODE
<?php

$row = 1;
if (($handle = fopen("D:\\ACC\\2019\\test.csv", "r",1)) !== FALSE) {
   while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
       $num = count($data);
       echo "<p> $num fields in line $row: <br /></p>\n";
       $row++;
       for ($c=0; $c < $num; $c++) {
           echo $data[$c] . "<br />\n";
       }
   }
   fclose($handle);
}


?>

и ето я грешката
Warning: fopen(D:\ACC\2019\test.csv): failed to open stream: No such file or directory in /home/mysite/public_html/html-pdf/read_file.php on line 4

Помогнете, ако може разбира се.
PMEmail Poster
Top
PxL
Публикувано на: 13-03-2019, 10:39
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2773
Регистриран на: 26.04.05



Според грешката не съществува такъв файл. Най-добре ползвай релативни пътища за името вместо абсолютен.


Иначе ако имаш phpmyadmin лесен вариант е да го import-ираш директно:
* Махаш заглавията
* Подреждаш колоните както са в таблицата
* Import

Това мнение е било редактирано от PxL на 13-03-2019, 10:45


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
deam0n
Публикувано на: 13-03-2019, 10:40
Quote Post



Име: Атанас Атанасов
Група: Потребител
Ранг: Посетител

Мнения: 88
Регистриран на: 12.09.05



Пътят до файла ти е грешен..

Да кажем че имаш следната структура на файловете в папката..

CODE
script.php
data1.csv
data2.csv


Съответно за да прочетеш data1.csv трябва да зададеш правилния път до него.. В случая е в същата папка в която е script.php

CODE
if (($handle = fopen("data1.csv", "r",1)) !== FALSE) {
PMEmail Poster
Top
Антон Яначков
Публикувано на: 13-03-2019, 10:49
Quote Post



Име: Антон Яначков
Група: Потребител
Ранг: Почетен член

Мнения: 1040
Регистриран на: 27.07.16



Пробвай да зададеш пътя така:
file:///D:/ACC/2019/test.csv

Браузърите са глупави програми. А за най-сигурно изтегли файла в адресната лента и глупавият браузер ще ти каже как да зададеш пътя.
PMEmail PosterUsers Website
Top
PxL
Публикувано на: 13-03-2019, 10:51
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2773
Регистриран на: 26.04.05



QUOTE (Антон Яначков @ 13-03-2019, 11:49)
Пробвай да зададеш пътя така:
file:///D:/ACC/2019/test.csv

Браузърите са глупави програми. А за най-сигурно изтегли файла в адресната лента и глупавият браузер ще ти каже как да зададеш пътя.

Пътя го чете php интерпретатора, не браузъра, няма да стане с file:


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
Карата
Публикувано на: 13-03-2019, 11:06
Quote Post



Име: Радостин Каракерезов
Група: Потребител
Ранг: Новопостъпил

Мнения: 14
Регистриран на: 12.03.19



Не знам как да отговарям на всеки един поотделно и за това пиша, към всички.
Най-лесно е да ги ъплоудна и да ги чета от сървъра си, но ми се ще, пък и е много по-лесно да ги хвърлям тези файлчета от счетоводната ми програма в една директория, а като му дойде времето да стартирам тази програма и тя да ги прочети, да им направи PDF-ите и да изпрати платежните на клиентите ми.
Много ще съм благодарен, ако можем да разрешим този проблем. С кво ли не съм се справял, с това толкова простичко нещо, вече 5 дни си троша главата.
PMEmail Poster
Top
Антон Яначков
Публикувано на: 13-03-2019, 11:10
Quote Post



Име: Антон Яначков
Група: Потребител
Ранг: Почетен член

Мнения: 1040
Регистриран на: 27.07.16



Този проблем се решава лесно, ако преместиш папката ACC в директорията, където ти се намира php файла.След което използваш функция getcwd(), която ще ти посочи реално пътя до местонахождението на php файла. Сега остава само да сглобиш пътя по показания начин:

$Patfile=getcwd().'\ACC\2019\test.csv';

По този елементарен начин, чрез PHP аз стартирам ехета, така че трябва да се получи.

Това мнение е било редактирано от Антон Яначков на 13-03-2019, 11:15
PMEmail PosterUsers Website
Top
Golden Gega
Публикувано на: 13-03-2019, 11:12
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1414
Регистриран на: 04.06.10



Както казаха по-горе - първо провери дали файла съществува.
Второ, можеш да нямаш права за четене - най-лесно отиди върху файла, десен бутон/properties, Security, дай на Users всички права.
За всеки случай махни на файла Read Only и Hidden.
И последно - има варианти да имаш и конфигурационни проблеми - https://stackoverflow.com/questions/3657702...le-or-directory
виж 5. Check PHP settings
PMEmail Poster
Top
PxL
Публикувано на: 13-03-2019, 11:16
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2773
Регистриран на: 26.04.05



QUOTE (Карата @ 13-03-2019, 12:06)
Не знам как да отговарям на всеки един поотделно и за това пиша, към всички.
Най-лесно е да ги ъплоудна и да ги чета от сървъра си, но ми се ще, пък и е много по-лесно да ги хвърлям тези файлчета от счетоводната ми програма в една директория, а като му дойде времето да стартирам тази програма и тя да ги прочети, да им направи PDF-ите и да изпрати платежните на клиентите ми.
Много ще съм благодарен, ако можем да разрешим този проблем. С кво ли не съм се справял, с това толкова простичко нещо, вече 5 дни си троша главата.

Принципно това е скрипт за около 15-ина мин. Според заданието искаш импорт в база, в кода няма нито връзка с база, нито реално четене на csv файла.

Според мен по-лесно ще е да отделиш 20-ина лв, за да го напише някой. По-скоро ако имаш конкретен проблем с кода можем да помогнем, иначе ние си изкарваме парите с писане на подобни и ще е малко некоректно директно да дадем решение, колкто и "по български" да звучи това icon_smile.gif


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
Карата
Публикувано на: 13-03-2019, 11:29
Quote Post



Име: Радостин Каракерезов
Група: Потребител
Ранг: Новопостъпил

Мнения: 14
Регистриран на: 12.03.19



QUOTE (PxL @ 13-03-2019, 11:16)
QUOTE (Карата @ 13-03-2019, 12:06)
Не знам как да отговарям на всеки един поотделно и за това пиша, към всички.
Най-лесно е да ги ъплоудна и да ги чета от сървъра си, но ми се ще, пък и е много по-лесно да ги хвърлям тези файлчета от  счетоводната ми програма в една директория, а като му дойде времето да стартирам тази програма и тя да ги прочети, да им направи PDF-ите и да изпрати платежните на клиентите ми.
Много ще съм благодарен, ако можем да разрешим този проблем. С кво ли не съм се справял, с това толкова простичко нещо, вече 5 дни си троша главата.

Принципно това е скрипт за около 15-ина мин. Според заданието искаш импорт в база, в кода няма нито връзка с база, нито реално четене на csv файла.

Според мен по-лесно ще е да отделиш 20-ина лв, за да го напише някой. По-скоро ако имаш конкретен проблем с кода можем да помогнем, иначе ние си изкарваме парите с писане на подобни и ще е малко некоректно директно да дадем решение, колкто и "по български" да звучи това icon_smile.gif

Аз НЕ искам да ми пишете нищо. Аз искам само да прочета файла ОТ КОМПЮТЪРА. А код-а който съм качил е само за четенето, а аз прочета ли го, знам как да го вкарам в база от данни, това не ми е проблема.
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (6) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0