PDA

Դիտել ողջ տարբերակը : upload php կյանքս կերավ



david
16.08.2008, 15:57
Մի խնդռի եմ դեմ արել, չեմ կառողանում հասկանալ:
PHP - ով փոռձում եմ upload անել:
Սկզբից ամեն ինչ նորմալ ստացվում էր, բայց հանկարծ սկսեց անընդհատ տալ հետևյալ հաղոռդագռությունը.

Warning: copy(C:/www/Apache2/pages/page.am/PICT/) [function.copy]: failed to open stream: Permission denied in C:\www\Apache2\pages\page.am\admin\ProdLoad.php on line 71

Ինչ կատարվեց չեմ հասկանում

Razo
16.08.2008, 15:58
Մի խնդռի եմ դեմ արել, չեմ կառողանում հասկանալ:
PHP - ով փոռձում եմ upload անել:
Սկզբից ամեն ինչ նորմալ ստացվում էր, բայց հանկարծ սկսեց անընդհատ տալ հետևյալ հաղոռդագռությունը.

Warning: copy(C:/www/Apache2/pages/page.am/PICT/) [function.copy]: failed to open stream: Permission denied in C:\www\Apache2\pages\page.am\admin\ProdLoad.php on line 71

Ինչ կատարվեց չեմ հասկանում

Reinstall արա:

david
16.08.2008, 15:59
Apache - ն ՞
Իսկ պատճառը ինչն է:

Grieg
16.08.2008, 16:00
երևի Permission-երի խնդիր ա, համոզվիր որ այն յուզեռ որով մտելես windows իրավունք ունի գրել նշված folder ում

david
16.08.2008, 16:08
Grieg ջան user - ս administrator - ա , բացի դրանից պապկայի վրա այդ օգտագործողի համար բոլոր իրավունքները դրված է

Ավելացվել է 3 րոպե անց
ինտեևնետում կարդացի ինչոր chmod - ը 777 դնելու մասին
վորտեղ է

Աթեիստ
16.08.2008, 16:20
Ես PHP-ից բան չեմ հասկանում, բայց, որ ProdLoad.php-ի 71-րդ տողը մեջբերես, մի գուցե հասկացողները հասկանան:

david
16.08.2008, 16:24
$fileName_real = split('\\\\',$fileName);
$dest = $_SERVER['DOCUMENT_ROOT']."page.am/PICT/".$fileName_real[10];
copy($fileName, $dest); //tox71

Ավելացվել է 3 րոպե անց
Էստեղ մի բան նկատեցի
Բանը նրանումն է, որ ես փորձում էի upload անել ուրիշ պապկայից, հենց այս պապկայի համար էր հաղորդագրությունը տալիս:
ես նայեցի Նախորդ ու այս նոր պապկայի իրավունքները. ԱՄԲՈՂՋՈՎԻՆ ՆՈՒՅՆՆ են

Աթեիստ
16.08.2008, 16:34
$fileName_real = split('\\\\',$fileName);
$dest = $_SERVER['DOCUMENT_ROOT']."page.am/PICT/".$fileName_real[10];
copy($fileName, $dest); //tox71

Ավելացվել է 3 րոպե անց
Էստեղ մի բան նկատեցի
Բանը նրանումն է, որ ես փորձում էի upload անել ուրիշ պապկայից, հենց այս պապկայի համար էր հաղորդագրությունը տալիս:
ես նայեցի Նախորդ ու այս նոր պապկայի իրավունքները. ԱՄԲՈՂՋՈՎԻՆ ՆՈՒՅՆՆ են

Ես նման դեպքում copy անելուց առաջ մի հատ կստուգեի, թե արդյոք $fileName_real և մանավանդ $dest փոփոխականները ստանում են անհրաժեշտ արժեքներ:

david
16.08.2008, 16:46
Աթեիստ ջան ամեն արժեք ստանում է ճիշտ:
Ախր սա մի քանի րոպե առաջ աշխատում էր

ars83
16.08.2008, 17:15
[size="1"][color="#666686"]
ինտեևնետում կարդացի ինչոր chmod - ը 777 դնելու մասին
վորտեղ է

PHP–ում chmod ֆունկցիա կա՞։

david
16.08.2008, 17:17
Բա լավ ինչից է որ մի պապկայի ամար նորմալ աշխատում է իսկ կողքի մեկ ուրիշ պապկայի համար բերում է այդ հաղորդագրությունը՞

Razo
16.08.2008, 17:17
Ars-ը եկավ, էլ դու պրոբլեմ չունես, Լինուքսիս հարցն էլ ինքը լուծեց: Հաստատ կօգնի: :)

ars83
16.08.2008, 17:18
Ars-ը եկավ, էլ դու պրոբլեմ չունես, Լինուքսիս հարցն էլ ինքը լուծեց: Հաստատ կօգնի: :)

Razo ջան, Լինուքսդ նորմալ նստե՞ց, աշխատումա՞։

Ավելացվել է 2 րոպե անց


Մեջբերում:
david-ի խոսքերից Նայել գրառումը
$fileName_real = split('\\\\',$fileName);
$dest = $_SERVER['DOCUMENT_ROOT']."page.am/PICT/".$fileName_real[10];
copy($fileName, $dest); //tox71

Ավելացվել է 3 րոպե անց
Էստեղ մի բան նկատեցի
Բանը նրանումն է, որ ես փորձում էի upload անել ուրիշ պապկայից, հենց այս պապկայի համար էր հաղորդագրությունը տալիս:
ես նայեցի Նախորդ ու այս նոր պապկայի իրավունքները. ԱՄԲՈՂՋՈՎԻՆ ՆՈՒՅՆՆ են
Ես նման դեպքում copy անելուց առաջ մի հատ կստուգեի, թե արդյոք $fileName_real և մանավանդ $dest փոփոխականները ստանում են անհրաժեշտ արժեքներ:

Հա, մի հատ պրինտ անեիր, տեսնեինք։

Razo
16.08.2008, 17:24
Razo ջան, Լինուքսդ նորմալ նստե՞ց, աշխատումա՞։

Նստեց բայց իմ ախմախ դիսկը (Լինուքսը) հնարավորություն չԷր տալիս ընտրել partition-ը ես էլ ստիպված դրեցի իրա ուզած ձևով` xp - ին սիրուն ձևերով ռադ արեց տեղը ինքը նստավ, ու էլի երբ որ localhost login-ի ժամանակը եկավ նորից նույն ձև ինչ որ բան մուտքագրել հնարավոր չէր: Էտ դիսկը փաստորեն փչացած-բոշա դիսկ էր :D:D:D

Ավելացվել է 2 րոպե անց
Համենայնդեպս շատ շնորհակալ եմ Արս ջան, քեզանից լիքը բան սովորեցի... ;)

ars83
16.08.2008, 17:29
Նստեց բայց իմ ախմախ դիսկը (Լինուքսը) հնարավորություն չԷր տալիս ընտրել partition-ը ես էլ ստիպված դրեցի իրա ուզած ձևով` xp - ին սիրուն ձևերով ռադ արեց տեղը ինքը նստավ, ու էլի երբ որ localhost login-ի ժամանակը եկավ նորից նույն ձև ինչ որ բան մուտքագրել հնարավոր չէր: Էտ դիսկը փաստորեն փչացած-բոշա դիսկ էր :D:D:D

Ավելացվել է 2 րոպե անց


:o Առաջին անգամ եմ լսում, որ partitioning անելու հնարավորություն չլինի Լինուքս տեղադրելու ժամանակ։ Գոնե, կորուստները հո մեծ չէին (windows–ը)։

P.S. :oy Մի բան ասեմ։ Windows-ի աչքն էլ հանելա, որ ջնջելա։ Էդ ապուշին տենց էլ պետքա։ :D Բայց դե մի քիչ կուլտուրական գոնե աներ, տնաշենը։


Համենայնդեպս շատ շնորհակալ եմ Արս ջան, քեզանից լիքը բան սովորեցի... ;)
Չարժի, Razo ջան, միշտ պատրաստ եմ ինչ գիտեմ, ասեմ։ :)

Razo
16.08.2008, 17:36
Արս ջան դու Լինուքս ես օգտագործում ?

Մի 2 հոգու գիտեմ որ Լինուքսա օգտագործում անգլերեն եսիմ ինչ ձևով քարոզում են որ xp պատռանքա. :)):)):))

Egern.net
17.08.2008, 13:55
PHP–ում chmod ֆունկցիա կա՞։
Խոսքը UNIX-ում chmod հրամանի մասին է, որը թույլ է տալիս փոխել տվյալ ֆայլի կամ ֆոլդերի նկատմամբ յուզերների իրավունքները: Windows-ում տենց բան չկա, ու ընդհանրապես տենց permission-ի սխալ չի կարող առաջանալ: Ինչ-որ ուրիշ տեղ է պրոբլեմը....

Ավելացվել է 9 րոպե անց

$fileName_real = split('\\\\',$fileName);
$dest = $_SERVER['DOCUMENT_ROOT']."page.am/PICT/".$fileName_real[10];
copy($fileName, $dest); //tox71

Ինչ-որ լավ չեմ հասկանում կոդը (split-ի նշանակությունը)... բայց warning-ից երեւում է, որ ֆայլի սկզբնական հասցեն սխալ է.

Warning: copy(C:/www/Apache2/pages/page.am/PICT/)
Այսինքն փորձում է copy անել ֆոլդերը, ինչը ֆայլ չի, ու հետեւաբար թույլատրելի չի

david
21.08.2008, 12:18
Egern.net ջան ,հենց ցավը նրանումն է, որ այդ սխալը մի պապկայի համար չի տալիս(D:\Folder\PICTURES\DCIM), մնացած բոլոր պապկաների համար (D:\Folder\PICTURES\... կամ D:\Folder\... կամ D:\...) տալիս է: Մի անհասկանալի իրավիչակ, չգիտեմ ինչ անել

david
21.08.2008, 15:06
Ժողովուուուուուուրդ եղավ:

Աթեիստ
21.08.2008, 15:08
Ժողովուուուուուուրդ եղավ:

Դե հիմա պատմի, թե ինչն էր սխալ:

firewall
21.08.2008, 15:28
Այսինքն փորձում է copy անել ֆոլդերը, ինչը ֆայլ չի, ու հետեւաբար թույլատրելի չի


Egern.net ջան ,հենց ցավը նրանումն է, որ այդ սխալը մի պապկայի համար չի տալիս(D:\Folder\PICTURES\DCIM), մնացած բոլոր պապկաների համար (D:\Folder\PICTURES\... կամ D:\Folder\... կամ D:\...) տալիս է: Մի անհասկանալի իրավիչակ, չգիտեմ ինչ անել


Դե հիմա պատմի, թե ինչն էր սխալ:

իմ կարծիքով պարզա արդեն :B

david
22.08.2008, 09:29
1.Ես չէի օգտագործել $_FILES['userfile'][name] գլոբալ փոփոխականը, ինքս էի փորձում առանձնացնել ֆայլի անունը:
Եվ ստացվում էր այնպես, որ կլիենտ մեքենայի վրա ֆիկսվում էր մի պապկա, որից էլ հենց պետք էր upload արվեր, ինչը սխալ էր;
2.օգտագործեցի ուրիշ ֆունկցիա
$uploaddir = '../PICT/';
$uploadfile = $uploaddir.basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{ ... }

Javakhk
02.09.2008, 23:53
Ուզում եք Upload script գրել PHP-ով: Վերջերս գրել եմ, կարող եմ տալ…

:)