الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في fopen:وهي Permission Denied عند الكتابة

مغلق
بدأه Abu Nawaf في 24 يناير 2005 · 15 رد · 1,348 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته

لدي مشكلة في دالة fopen:

أستطيع فتح ملف للقراءة ولكن لا أستطيع فتح أي ملف للكتابة أو للإضافة append.

لم تكن المشكلة موجودة عندما كنت أستخدم سيرفر apache

ولكن ظهرت الآن مع استخدامي لسيرفر IIS 5.1 على ويندوز xp pro

و php 5.0.2

أرجو لمن لديه معرفة في تغيير الـ permission للملفات أو لديه أي طريقة أو حل لهذه المشكلة أن يفيدنا ولكم جزيل الشكر.

#3

أخي الكريم أنا أشتغل على Windows

كيف أعطي تصريح للملف؟ هذا سؤالي الأصلي

سويت مثل اللي في الصورة (المرفقات) ولكن لم ينفع!!!

post-38-1106579428_thumb.jpg

#4

جرب ان تقوم بتنفيذ :

chmod($file, 0666)

وذلك قبل القيام بعملية ال fopen.

أيضاً.. اكتب نص رسالة الخطأ اللي تظهر لك لعلها توضح معلومات أكثر عن الخطا

-عمرو

#5

ما نفع ::: هذي رسائل الخطأ

Warning: chmod() [function.chmod]: Permission denied in C:\Inetpub\wwwroot\online\line.php on line 35

Warning: fopen(log.txt) [function.fopen]: failed to open stream: Permission denied in C:\Inetpub\wwwroot\online\line.php on line 36
#6

أسف لم أفهم قصدك

تأكد أولا أن الملف line.php ليس للقراءة فقط يعني من على الويندوز إذهب إلى المجلد C:\Inetpub\wwwroot\online إفتح خصائص الملف line.php بواسطة الزر الأيمن للفأرة وأزل العلامة من على Read-only

أنتظر ردك

سلااااااااااااااااام

#7
بلال حمدي كتب:
أسف لم أفهم قصدك

تأكد أولا أن الملف line.php ليس للقراءة فقط يعني من على الويندوز إذهب إلى المجلد C:\Inetpub\wwwroot\online إفتح خصائص الملف line.php بواسطة الزر الأيمن للفأرة وأزل العلامة من على Read-only

أنتظر ردك

سلااااااااااااااااام

تاكد من هذا

نحن بانتظارك ;) ;) ;) ;) :o :o :o :o

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#8

أخوي بلال حمدي

الملف ليس للقراءة فقط

شاكر اهتمامك

مازالت المشكلة قائمة

#9

تاكد من اعدادات IIS خصائص الفولدر الذي تقوم بالعمل فيه حل هو للقراءة فقط اذا كان كذلك اعطه سماحية الكتابة

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#10

أسف أخطأت أقصد خصائص الملف log.txt وليس line.php

اقتباس
تاكد من اعدادات IIS خصائص الفولدر الذي تقوم بالعمل فيه حل هو للقراءة فقط اذا كان كذلك اعطه سماحية الكتابة

جرب ما قاله الأخ مصطفى

وعموما أنا أجرب php5.0.3 على IIS الأن وسأوافيك بالنتائج

سلااااااااااااااام

تم تعديل هذه المشاركة بواسطة بلال حمدي في 26 يناير 2005 في 17:17

#11

أخي بلال : أنا فهمت من أول ان قصدك log.txt , شف الصورة المرفقة في ردي الأول.

أخي مصطفى كل الفولدرات بما في داخلها من ملفات بدءًا من wwwroot تقبل الكتابة و مازالت المشكلة موجودة.

أنا في انتظار نتائج تجربتك أخ بلال.

#12

السلام عليكم

نزلت php 5.0.3 على IISv5.1 وكانت التجربة كالأتي

ظهر الخطأ

Warning: fopen(log.txt) [function.fopen]: failed to open stream: Permission denied in D:\Inetpub\wwwroot\index.php on line 2

ذهبت إلى خصائص الملف log.txt وأزلت العلامة من على Read-only واختفت المشكلة

عموما سأرفق ملفات التجربة جربهم عندك وأخبرنا هل إختفى الخطأ أم لا

ولزيادة التأكيد إذهب إلى

Control Panel --> Administrative Tools --> Internet Information Services --> Web Sites -->

إفتح خصائص Default Web Site

ومنها إختر البوابة Home Directory

ثم قم بوضع العلامة على Write

#14

HERE IS THE SOLUTION .............. Finally

حليتها و انا أبو نواف

بصراحة الطريقة تعتبر لفة بعيدة .. من جد الـ IIS فيه شغلات غبية. لخبطت و بربست إلين عرفت الحل.

هنا الحل.

افرض أن عندنا ملف سكربت اسمه WriteToFile.php و نريد من السكربت أن يقوم بإنشاء ملف أو فتحه للكتابة اسمه MyFile.txt

وكلا الملفين في مجلد اسمه MyFolder تحت wwwroot

نفتح IIS من لوحة التحكم -> ... -> Default Web Site -> ثم right click على MyFolder ثم Properties :: ضع علامة صح على Write و أي شيء آخر تريده ثم ok

unfortunately we are not done yet

ارجع مرة ثانية و right click على MyFolder ستجد قائمة All Tasks اختر منها Permission Wizard

ثم -> next -> ثم inherit all security settings ثم next

تحصل بالـ bold مكتوب

Administrators have full acsess to files
Everyone can read files
Everyone can write files
Everyone can execute files

وتحتها ثلاث اختيارات : اختر الأول Replace all directory and file permissions (recommended).

ثم next

NOW WE ARE DONE

=================================

أخوي بلال : سكربتك لم يعمل عندي قبل أن أقوم بهذه الخطوات. لعله عمل لديك بسبب أن لديك PHP 5.0.3 وأنا عندي PHP 5.0.2 أو لأن إعدادات الـ IIS مختلفة عندك من الأساس أو أو أو ...

على العموم شاكر لك جزيل الشكر ولجميع من ساهم في إعطاء بعض الأفكار

و أتمنى للجميع دوام التوفيق

..::|[ أخوكم أبو نواف ]|::..

#15

الحمد لله

دائما الذي يحل المشكلة صاحبها لأنه يجرب كل شئ سريعاًً و.....

بالتوفيق

#16

غالبا php لا تتوفق مع IIS لذلك تسبب الكثير من المشاكل

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

هذا الموضوع مغلق.

مواضيع مشابهة