PDA

View Full Version : سوال: کپی فایل از سیستم



ابوذر محمودی
پنج شنبه 27 تیر 1387, 12:14 عصر
سلام . من می خوام یک فایل رو از سیستم به یک فضا کپی یا همون آپلود کنم . دوستان : * قبل از ایجاد تاپیک جستجو کردم ولی نتونستم چیزی پیدا کنم * اگه قبلاً در این باره تاپیک ایجاد شده لطف کنند لینک بدن * ممنون می شم اگه دوستان به جای راهنمایی کد بزارن ؛ به این دلیل که آشنایی من با این زبان در سطح خیلی مقدماتی هست .

org.kiani
پنج شنبه 27 تیر 1387, 12:45 عصر
سلام دوست عزیز، اینها رو ببینید‌ :
http://www.w3schools.com/PHP/php_file_upload.asp
http://www.webcheatsheet.com/PHP/file_upload.php
http://php.about.com/od/advancedphp/ss/php_file_upload.htm

اگر هم قرار بود چندتا فایل رو باهم ارسال کنید :
حتما باید تمام فیلد های انتخاب فایل همنام باشند و از [] (براکت) در آخر نامگذاری استفاده کنید. مثلا :
[]upfile
مثل این : < '[]input type='file' name='upfile>
و کد php مربوطه رو در حلقه قرار بدید :


<?php
echo "<pre>";
printf("\n\n\nFileName Type Size status\n");
for($i=0;$i<70;$i++)
printf("=");
printf("\n");
foreach ($_FILES["upfile"]["error"] as $key => $error)
{
if ($error == UPLOAD_ERR_OK)
{
$tmp_name = $_FILES["upfile"]["tmp_name"][$key];
$name ="uploads\\". $_FILES["upfile"]["name"][$key];
if (move_uploaded_file($_FILES["upfile"]["tmp_name"][$key], $name))
{
printf("%-20s ",$_FILES["upfile"]["name"][$key]);
printf("%-30s ",$_FILES["upfile"]["type"][$key]);
printf("%-10s ",$_FILES["upfile"]["size"][$key]);
printf("%-10s ",$_FILES["upfile"]["error"][$key]);
echo "\n";
for($i=0;$i<70;$i++)
printf("-");
printf("\n");
}
}
}
?>
یادتون باشه که مسیری که فایلها قراره داخلش کپی بشه باید مجوز نوشتن داشته باشه. برای اینکه بفهمیدید آیا شاخه ای مجوز نوشتن داره یا نه از تابع :
()is_writable استفاده کنید.
در ضمن سورس بالا مربوطه به کتاب php5 تالیف محمد مصدری از انتشارات ناقوس.

ابوذر محمودی
پنج شنبه 27 تیر 1387, 13:16 عصر
چه طوری می شه فهمید که فایل با موفقیت آپلود شده ؟

org.kiani
پنج شنبه 27 تیر 1387, 13:34 عصر
از این تابع میتونید استفاده کنید :
is_uploaded_file


<?php
if ( is_uploaded_file( $_FILES[ 'upfile' ][ 'tmp_name' ] ) ) {
echo "File " . $_FILES[ 'upfile' ][ 'name' ] . " uploaded successfully.\n";
}
?>
http://ir.php.net/is_uploaded_file

از اینم استفاده کنید لینکش توی پست بالا بود :
http://www.w3schools.com/PHP/php_file_upload.asp


<?php
if( $_FILES[ 'file' ][ 'error' ] > 0 )
{
echo 'Error: ' . $_FILES[ 'file' ][ 'error' ] . '<br />';
}
?>

yaqubian
جمعه 28 تیر 1387, 00:31 صبح
دوست عزیز
البته شما می تونید در بعضی موارد فایلهاتون رو به داخل DB هم upload کنین که این موضوع قبلا در موردش صحبت شده!
یادتون باشه که permission فولدری که می خواین فایل به داخل اون upload بشه باید 777 باشه.
موفق باشید