ایجاد دایرکتوری در php

بازدید41.2kپست ها14آخرین فعالیت9 سال پیش
0
0

سلام
من از تابع chdir() استفاده کردم ولی پیغام no such file or directory رو نشون میده.
برای حلش باید قبلش از mkdir() استفاده کنم؟

0

chdir برای تغییر میسر فعلیه.
مثال ایجاد دایرکتوری:

<?php
mkdir("/path/to/my/dir", 0700);
?>

مثال chdir:

<?php

// current directory
echo getcwd() . "\n";

chdir('public_html');

// current directory
echo getcwd() . "\n";

?>
0

getcwd() دایرکتوری جاری رو نشون میده ولی chdire , mkdirهنوز همون پیغام رو میدن؟؟

0

سلام
کد رو بذارید لطفا.

0
echo getcwd();
mkdir("C:\xampp\htdocs\php_sandbox\uploads", 0700);
chdir('/uploads/');
echo getcwd();

اخطار خط دوم :mkdir(): Invalid argument
اخطار خط سوم : chdir(): No such file or directory (errno 2)

0

سلام
تو آدرستون C:[color=#FF0000]\x[/color]ampp\htdocs\php_sandbox\uploads عبارت x\ وجود داره و این برای php عبارتی معنا داره.
برای حل مشکل یا باید عبارت رو Escape کنید: "C:
[color=#FF0000][/color]
\xampp\htdocs\php_sandbox\uploads"
و یا از اپوستروف( ' ) بجای دو دابل کوت( " ..." ) استفاده کنید: 'C:\xampp\htdocs\php_sandbox\uploads'

0

خیلی ممنونم.مشکل mkdir حل شد ولی واسه خط بعدیش هنوز همون اخطارو دارم!!!

0
chdir('uploads/');

اسلش اولی رو حذف کن.

0

نشد!!!!

0

مطمئن بشید که دایرکتوری ایجاد شده

if( file_exists( 'uploads' ) )
	chdir('uploads/');
0

مرسی.دیگه هیچ اخطاری نداره
اما...
مگه نه اینکه با chdir مسیر دایرکتوری رو تغییر میدیم.
چرا اینجا وقتی بعد از chdir از getcwd استفاده میکنیم همون مسیر دایرکتوری قبلی رو نشون میده؟؟

0

خطا نداره بخاطر اینه که تابع chdir اجرا نمیشه چون گفتیم در صورتی که دایرکتوری ایجاد شد chdir رو اجرا کن.
حتما مسیر فایل php شما با جایی که فولدر باید ایجاد بشه فرق میکنه پس آدرس chdir باید Absolute وارد بشه.
این کد دیگه جواب میده :)

<?php

echo getcwd();

$dirname = 'uploads';

if( mkdir('C:\xampp\htdocs\\'. $dirname, 0700) ){
	chdir('C:\xampp\htdocs\\'. $dirname);
	echo '<h1>Directory Created.</h1>';
} else {
	echo '<h1>Can not create directory</h1>';
}

echo getcwd();

?>
0

بله،این دیگه جواب داد.ممنونم
ولی یعنی چی که "مسیر فایل php با جایی که فلدر باید ایجاد بشه فرق میکنه"؟؟؟
با مسیری هم که قبلا میدادم فلدر ایجاد میشد ولی برنامه تشخیص نمیداد و مسیر دایرکتوری رو تغییر نمیداد.
البته من فلدر مورد نظرمو داخل یکی دیگه از فلدرهای htdocs میذاشتم.نباید اینکارو میکردم؟؟

0

سلام
زمانی که ادرس فولدر به صورتchdir('uploads') وارد میکنید یعنی همین جایی که فایل php شما هست یه فولدری به نام uploads وجود داره و چون فایلتون یه جای دیگست خطا میده ( یعنی مسیر فایل php و فولدر با هم فرق میکنن )
برای حل مشکل باید ادرس کامل رو وارد که که مدیر همین کار رو انجام دادن.

0

Finally.I got it
Thank you all.

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.