تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#1 (permalink)  
هل من طريقة للتغلب على هذا الخطأ في كود النسخ ؟


بسم الله الرحمن الرحيم

أخواني الكرام واجهتني مشكلة أنشاء ملف جديد بالكود في الموقع والصيغة له هي
كود PHP:
mkdir("users/test"0777 );
copy('file.txt',"users/test/password.php"); 
ولكن عند تنفيذ الأمر يظهر هذا الخطأ

كود:
Warning: mkdir(users/test): Permission denied in /home/xxxxx/public_html/c-asaher/act/register.php on line 19

Warning: copy(users/test/password.php): failed to open stream: No such file or directory in /home/xxxxx/public_html/c-asaher/act/register.php on line 20
نأمل المساعدة العاجلة






سيف جرافيكس غير متواجد حالياً   قديم 17-02-2006, 07:23 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#2 (permalink)  

ممكن تضع الكود كامل






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar غير متواجد حالياً   قديم 17-02-2006, 11:06 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Oct 2005-
#3 (permalink)  

اذا ممكن نشوف الكود كامل

حلول اولية
راجع السطر line 19
في الملف
c-asaher/act/register.php

اعطي ترخيص 777
للمجلد
users


انشالله تنحل






xremas غير متواجد حالياً   قديم 17-02-2006, 11:46 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#4 (permalink)  

التراخيص تمام التمام شوف هذا الكود كامل طبعاً في ملف register.php


كود PHP:
@mkdir("users/$reg_username", 0777);
@chmod("users/$reg_username",0777);
@copy('blankfile.txt',"users/$reg_username/password.php");
@copy('act/index.htm',"users/$reg_username/index.htm");
$password_variable = '$config_password =';
@fwrite(fopen("users/$reg_username/password.php", 'r+'),"<?php  $password_variable $reg_password?>");

@copy('blankfile.txt',"users/$reg_username/counter.php");
$counter_variable = '<?php $hits ?>';

@fwrite(fopen("users/$reg_username/counter.php", 'r+'),"$counter_variable");

@copy('blankfile.txt',"users/$reg_username/style.php");
$counter_style = '$style = ';
@fwrite(fopen("users/$reg_username/style.php", 'r+'),"<?php $counter_style $style_im ?>");

echo "<br><br><br>تم تكوين حسابك لدينا";






سيف جرافيكس غير متواجد حالياً   قديم 17-02-2006, 11:53 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Oct 2005-
#5 (permalink)  

الملف اشتغل معية 100% و انشأ مجلد






xremas غير متواجد حالياً   قديم 18-02-2006, 12:26 AM
رد مع اقتباس
مشرف قسم تطوير المواقع
تاريخ التسجيل: Feb 2003-
#6 (permalink)  

تثبت من التصاريح مثل ما اخبروك الأخوان و تثبت ايضا من عدم منع استعمال هذه الدوال في المستضيف عندك
لأنه ربما الChmod 0777 لم تعمل معك ارجو ان تدخل عن طريق اي Client FTP و تتثبت من الفولدر Users اعتقد انك ستجده 0755

ننتظر النتيجة






__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
Dr-dre67 غير متواجد حالياً   قديم 18-02-2006, 06:09 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Feb 2003-
#7 (permalink)  

كلام الاخ Dr-dre67 مضبوط
انا حاولت اعملها لسكربت رفع ملفات وعلى الاباتشي اشتغل 200% ولكن على السيرفر لم يعمل واتضح ان المجلد الذي يتم انشاؤة لايتغير ترخيصة وهذه هي مشكلتك اظن


تحياتي






__________________
KSA
إختلاف الرأي لايفسد .... قضية
alkokh غير متواجد حالياً   قديم 18-02-2006, 06:55 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#8 (permalink)  

اخواني المجلد يتم انشاءة تمام ويأخذ الترخيص الجديد 0777 هذا ما فيه اي مشكلة

المشكلة هي عندما افتح المجلد الذي تم انشاءه لا يوجد به الملفات التي تم نسخها

علماً بأن مجلد users يحمل الترخيص رقم 0777

ونفس هذا الكود يعمل 1000% على اليسرفر الشخصي بس في الموقع لا يعمل






سيف جرافيكس غير متواجد حالياً   قديم 18-02-2006, 08:12 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Dec 2004-
#9 (permalink)  

جرب حظك:
كود PHP:
touch("users/test/password.php");
copy('file.txt',"users/test/password.php"); 






b7erh.net غير متواجد حالياً   قديم 18-02-2006, 01:27 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#10 (permalink)  

لم يفلح معي اخي b7erh.net

المشكلة في المتغير $reg_username حيث عندما احذفه واكتب بدل منه test ويكون في مجلد users مجلد test وجميعهم تحمل الترخيص 0777 يعمل تمام

والمتغير لا يمكن الاستغناء عنه لانه اسم المستخدم الذي يقوم بتسجيله .....






سيف جرافيكس غير متواجد حالياً   قديم 18-02-2006, 02:51 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#11 (permalink)  

اخي سيف .. اكتب كذا

كود PHP:
<?

if(!empty($reg_username)){

$mk mkdir("users/$reg_username"0777); 

if(
$mk){ 

ECHO 
" تم التكوين ";

} ELSE {

ECHO 
" لم يتم التكوين هناك خطأ ";

}

} ELSE {

ECHO 
" المتغير <b>" $reg_username ."</b> غير موجود ";

}
?>
وقولنا عالنتيجة ...






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar غير متواجد حالياً   قديم 18-02-2006, 07:21 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#12 (permalink)  

اخوي جريح ما فيه فايدة للاسف

سويت تعديل على كود اخر للاخ Mr.php-ar نفس فكرة الكود الي عندي كمثال تجريبي

وعلى فكرة المجلد الجديد يتم انشاءه تمام ويأخذ الترخيص 0777 بس المشكلة لا توجد به الملفات التي تم نسخها وهذا المثال كامل

وهذا الكود يعمل على السيرفر الشخصي 100% اما الموقع لا يعمل والله حيرني معه
كود PHP:
<?
$folder_one 
"test";
$folder "test2";
mkdir("users/$folder",0777);
chmod("users/$folder",0777);
$folder_tow "users/$folder";


$dir opendir("$folder_one");
while(
$files readdir($dir)){
if(
$files != '..' || $files != '.'){
$Acopy = @copy("$folder_one/$files","$folder_tow/$files");

if(
$Acopy){
echo 
"You Have Copy By This File : <i><font face='tahoma'> $files </i></font><br>";
@
chmod("users/$files"0777);
}
elseif(
$files != ".." && $files != ".")
{
echo 
" Error Copy By This File : <i><font face='tahoma'> $files </i></font><br>";
}
}
}
closedir($dir);

echo 
"<br><font face='tahoma'> By : Mr.php-ar</font>";
?>






سيف جرافيكس غير متواجد حالياً   قديم 18-02-2006, 09:07 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#13 (permalink)  

وش كانت النتيجة بالضبط ؟؟ ( عالموقع وليس السيرفر الشخصي )

اعطي المجلد الرئيسية فقط الترخيص 777 اللي هو users عن طريق ftp ...

وبعدين جرب الكود حق ردي فوق وقولنا النتيجة بالضبط ..






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar غير متواجد حالياً   قديم 18-02-2006, 09:20 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#14 (permalink)  

اخوي الجريح انا جربت الكود حقك

المجلد ينشأ تمام ويأخذ الترخيص 0777 كما هو في الكود حقي الأول

بس للاسف الملفات لم تنتقل له وهي المشكلة الكبيرة

ومجلد users يحمل الترخيص 0777

وهذا هو الخطأ عند حذف @

كود:
Warning: copy(users/test/.): failed to open stream: Is a directory in /home/xxxxx/public_html/y/ggg.php on line 13

Warning: copy(users/test/..): failed to open stream: Is a directory in /home/xxxxx/public_html/y/ggg.php on line 13

Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 32043 is not allowed to access /home/xxxxx/public_html/y/users/test owned by uid 99 in /home/saherco/public_html/y/ggg.php on line 13

Warning: copy(users/test/as.txt): failed to open stream: Permission denied in /home/xxxxx/public_html/y/ggg.php on line 13
Error Copy By This File : as.txt 

Warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 32043 is not allowed to access /home/xxxxx/public_html/y/users/test owned by uid 99 in /home/saherco/public_html/y/ggg.php on line 13

Warning: copy(users/test/gfgg.php): failed to open stream: Permission denied in /home/xxxxx/public_html/y/ggg.php on line 13
Error Copy By This File : gfgg.php






سيف جرافيكس غير متواجد حالياً   قديم 18-02-2006, 09:36 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#15 (permalink)  

جرب المثال
http://www.naifphp.net/nn.php

المصدر للمثال
http://www.naifphp.net/nn.phps


كود PHP:
<?php

IF(isset($_GET[create]) && ($_GET[create] == "do") ){

$reg_username $_POST['dirname'];

if(!
file_exists("users/$reg_username")){

$mk mkdir("users/$reg_username"0777);

if(
$mk){

ECHO 
" تم التكوين <a href='users/$reg_username'>$reg_username</a> ";

$if_copy copy("/home/xxx/public_html/intro-n.gif","/home/xxx/public_html/users/$reg_username/intro-n.gif");

if(
$if_copy){

        ECHO 
"<br> تم نسخ الملفات ";

         }ELSE{
                 ECHO 
" <br> خطأ : لم يتم نسخ الملفات ";

                 }
} ELSE {

ECHO 
" لم يتم التكوين هناك خطأ ";

}

} ELSE{

ECHO 
" المجلد موجود مسبقا ";

}

}else{

        ECHO 
"<form method='post' action='?create=do'>".
        
"dir name : <input type='text' name='dirname'>".
        
"<input type='submit' value='create'></form>";
}
?>
استبدل xxx باسم دخولك للftp ...

طبعا حدد المسار الصحيح بالنسبة لك






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar غير متواجد حالياً   قديم 18-02-2006, 09:52 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#16 (permalink)  

اخوي شوف النتيجة المجلد تم انشاءه واخذ الترخيص 0777 تمام

وكن الملف لا يوجد به


تم التكوين gggggg
Warning: copy(/home/xxxxx/public_html/users/gggggg/as.txt): failed to open stream: No such file or directory in /home/xxxxx/public_html/y/uuu.php on line 15

خطأ : لم يتم نسخ الملفات

علماً بأني استبدلت xxxxx باسم دخولي على الف تي بي والمجلد users يحمل الترخيص 0777






سيف جرافيكس غير متواجد حالياً   قديم 18-02-2006, 10:11 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Oct 2005-
#17 (permalink)  

غريبة

انا اعتقد انها ساعة نحس و بتروح انشالله مع الزمن


ياما شبنا من هالشغلات

بيعين الله

استمر في المحاولة و حتنجح انشالله

جرب على موقع تاني في سيرفر اخر






xremas غير متواجد حالياً   قديم 19-02-2006, 02:52 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Dec 2004-
#18 (permalink)  

عدل في الـ php.ini أو كلم المستضيف..
كود:
safe_mode_gid = On
لأن السيف مود مفعل.... فالـ php يتأكد من صلاحية الـ uid (الـ user identifier)...
فأنت فعل في الـ php.ini التحقق عن طريق الـ gid (الـ group)... وإن شاء الله بيشتغل معاك تمام...

أغلب المستضيفين بينفذونها بدون مساءلات... لأن فايدتها أكثر بكثير من منع ضررها...
الله أعلم (ما قد واجهت هالمشكلة... بس قريت عنها)..

بالتوفيق...






b7erh.net غير متواجد حالياً   قديم 19-02-2006, 03:56 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#19 (permalink)  

الله يعطيكم العافية ما قصرتم تعبناكم معنا

كيف اعرف ان السيف مود شغال او لا هل هذا الكود يفيد في ذلك


كود PHP:
<?php
echo ini_get('safe_mode');
?>
حيث يخرج لي النتيجة

1

هل معناه ان السيف مود على on

واذا كانت النتيجة صفر

هل معناه ان السيف مود على off






سيف جرافيكس غير متواجد حالياً   قديم 19-02-2006, 10:30 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Dec 2004-
#20 (permalink)  

هلا سيف.
إذا كان مفعل الناتج بيكون 1 ...
وإذا مهو مفعل بيكون المتغير 0 أو فاضي ((جربته يطلع لي فاضي))..

العلم ، رسالة الخطأ في الرد هذا http://www.swalif.net/softs/showpost...7&postcount=14
تقول: SAFE MODE Restriction in effect.

ما يحتاج تلغي السيف مود... بس عدل على ملف الـ php.ini باللي كتبته لك وان شاء الله يضبط الوضع...

بالتوفيق..






b7erh.net غير متواجد حالياً   قديم 19-02-2006, 12:03 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#21 (permalink)  

طيب اخوي الملف php.ini وين احصله

انا عندي مساحة فقط ولوحة تحكم بالموقع cpanel






سيف جرافيكس غير متواجد حالياً   قديم 19-02-2006, 01:33 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#22 (permalink)  

طيب دقيقه ...

انت بتطلب الملف على موقعك كذا

www.[xxx].com/y/uuu.php

بحيث انك عامل مجلد اسمه y وحاط فيه ملف التكوين ( لنفرض الكود حق ردي الاخير ) ...

وانت حاب تنسخ ملف الى المسار

users/gggggg/as.txt

اي المسار هذا خارج عن هذاك ..

جرب حل الاخوه ثم جرب هالحل :

- اعمل مجلد جديد باسم s
- انسخ كود ردي كامل اللي موجود فيه رابط المثال وحطه بملف مثلا test.php ..
- كون مجلد داخل المجلد s باسم users ...
- حط صورة مثلا داخل المجلد s باسم n.gif


وغير المسار الى في الكود الموووجود بصفحة test.php الموجودة داخل المجلد s وعطنا رابط المثال ..

كود PHP:
copy("/home/xxx/public_html/s/n.gif","/home/xxx/public_html/s/users/$reg_username/n.gif"); 
طبعا جرب اول رد الاخوه ، اذا لم ينفع جرب هالرد ..






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar غير متواجد حالياً   قديم 19-02-2006, 01:43 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#23 (permalink)  

نفس المشكلة باقية شوف سويت الي قلت عليه

http://www.asaher.com/s/test.php

ومرفق المثال ارجو ترفعه عندك وتشوف اذا اشتغل فمعناه انه من السيف مود






الملفات المرفقة
نوع الملف: zip s.zip‏ (6.8 كيلوبايت, المشاهدات 24)
سيف جرافيكس غير متواجد حالياً   قديم 19-02-2006, 06:35 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Feb 2004-
#24 (permalink)  

اهاا .. طيب تنويه اخير لي هل اعطيت مجلد users الموجود في s الترخيص 777

التجربه : http://naifphp.net/s/test.php

المصدر : http://naifphp.net/s/test.phps






__________________
بي اتش بي العرب : php-ar.com
دروس PHP خاص : phpfaq.php-ar.com

new site : www.naifphp.net/web
Mr.php-ar غير متواجد حالياً   قديم 19-02-2006, 08:25 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jun 2005-
#25 (permalink)  

اخوي جريح المجلد users ترخيصة 0777

بس اعتقد المشكلة من السيف مود

الكود الي يظهر حالة السيف مود يخرج لي النتيجة 1






سيف جرافيكس غير متواجد حالياً   قديم 19-02-2006, 08:45 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 08:37 AM بتوقيت المملكة العربية السعودية