PDA

View Full Version : آپلود فایل و درج در بانک



nokhodi
یک شنبه 06 بهمن 1392, 22:18 عصر
چطوری میتونم همراه مطالبی که میخوام توی بانک ثبت کنم...یک فایل هم آپلود کنم؟

smksmk
دوشنبه 07 بهمن 1392, 12:44 عصر
شما خود فایل رو آپلود میکنی جدا ، اسم فایل رو میگیری از همون فیلدی که آپلود رو انجام دادی و کنار مطلبت تو دیتابیس ذخیره میکنی .

nokhodi
دوشنبه 07 بهمن 1392, 18:06 عصر
بعو موقع نمایش مطلب چطوری میتونم لینکش رو داشته باشم که بشه دانلودش کرد؟

nokhodi
دوشنبه 07 بهمن 1392, 18:08 عصر
نمونه اسکریپتش آیا بروی نت موجود هست...
من توی پیاده سازی به مشکل برخوردم..

foreach
دوشنبه 07 بهمن 1392, 21:14 عصر
ببینید هنگامی که دارید مطلبی رو ارسال میکنید باید یک فرم از نوع آپلود داشته باشید بعد از ارسال اطلاعات فرم اول باید فایل ارسال شده رو در یک مسیر دلخواه آپلود کنید و لینک اون مسیر رو با فیلد هایی که برای مطلب گذاشتید (عنوان,برچسب و ...) در دیتابس ذخیره کنید
برای نمایش هم فقط باید مطلب مورد نظر رو SELECT کنید که در اینصورت فیلد لینک فایل رو هم در اختیار دارید

nokhodi
دوشنبه 07 بهمن 1392, 21:27 عصر
نمیشه همراه همون اطلاعات انجام بشه، فرم دیکه یی قرار ندیم؟
http://www.uploadax.com/images/53858292006572436148.png

فرم سمت چپ فرمی هست که الان داده رو میذاره تو جدول
اما میخوام (مث فرم سمت راست) بهش اون گزینه فایل رو هم اضافه کنم...

foreach
دوشنبه 07 بهمن 1392, 21:39 عصر
یک فیلد به اینصورت اظافه کنید


<input type="file" name="file">

و در تگ فرم هم


<form method="POST" action="" enctype="multipart/form-data">

برای دریافت فیلد در پی اچ پی هم


<?php
$file = $_FILES['file']['tmp_name']

nokhodi
دوشنبه 07 بهمن 1392, 21:59 عصر
خود تگ form اکشنش اینه

action="<?php echo $editFormAction; ?>"


برای شما خالیه؟! خالیش نکنم؟!

دریافتش رو هم کجا باید بزارم؟!

nokhodi
دوشنبه 07 بهمن 1392, 22:02 عصر
و اینکه کجا میتونم نوع فایل هامو مشخص کنم که فقط اینا باشه؟

doc,pdf,jpg,zip,rar

nokhodi
دوشنبه 07 بهمن 1392, 22:14 عصر
اینم دستورات درج توی پایگاه هست برای فایل چی باید باشه؟!


if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO idea (catname, title, text, textfull, `date`) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['catname'], "text"),
GetSQLValueString($_POST['title'], "text"),
GetSQLValueString($_POST['text'], "text"),
GetSQLValueString($_POST['textfull'], "text"),
GetSQLValueString($_POST['date'], "text"));

mysql_select_db($database_cn, $cn);
$Result1 = mysql_query($insertSQL, $cn) or die(mysql_error());

$insertGoTo = "act_add.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

foreach
سه شنبه 08 بهمن 1392, 09:02 صبح
خود تگ form اکشنش اینه

action="<?php echo $editFormAction; ?>"


برای شما خالیه؟! خالیش نکنم؟!

دریافتش رو هم کجا باید بزارم؟!
اکشن خودتون رو باید بزارید


و اینکه کجا میتونم نوع فایل هامو مشخص کنم که فقط اینا باشه؟

doc,pdf,jpg,zip,rar
در ساده ترین حال باید به اینصورت


<?php
$types = array(
'image/png',
'image/gif',
);
$fileType = $_FILES['file']['type'];
if(in_array($fileType,$types)) {
// upload
}
انجام بدید

foreach
سه شنبه 08 بهمن 1392, 09:05 صبح
اینم دستورات درج توی پایگاه هست برای فایل چی باید باشه؟!


if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO idea (catname, title, text, textfull, `date`) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['catname'], "text"),
GetSQLValueString($_POST['title'], "text"),
GetSQLValueString($_POST['text'], "text"),
GetSQLValueString($_POST['textfull'], "text"),
GetSQLValueString($_POST['date'], "text"));

mysql_select_db($database_cn, $cn);
$Result1 = mysql_query($insertSQL, $cn) or die(mysql_error());

$insertGoTo = "act_add.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
برای لینک تصویر ابتدا باید یک فیلد با نام فرضی img در جدول مورد نظرتون بسازید
بعد زمانی که دارید مطلب جدید رو در دیتابس ذخیره میکنید لینک تصویر رو هم بعد از آپلود ذخیره کنید

nokhodi
سه شنبه 08 بهمن 1392, 10:10 صبح
سوال اخرم رو نگرفتم...
اون تیکه دستوراتی که گذاشتم واسه insert توی پایگاهه...
دستورات شما رو کجای این دستورات باید بزارم؟!

این دستورات منظورمه :

<?php
$types = array(
'image/png',
'image/gif',
);
$fileType = $_FILES['file']['type'];
if(in_array($fileType,$types)) {
// upload
}

اون فیلد رو هم که بله...ساختم...هست توی جدول...

nokhodi
سه شنبه 08 بهمن 1392, 10:13 صبح
راستی نوع فیلد رو از نوع vchar و با اندازه 100 گرفتم؟ اوکی هست؟!

foreach
سه شنبه 08 بهمن 1392, 10:41 صبح
دوست عزیز بنده دیگه نمیدونم با چه زبانی باید توضیح بدم :لبخند:
این لینک رو ببینید
http://www.w3schools.com/php/php_file_upload.asp

nokhodi
سه شنبه 08 بهمن 1392, 10:44 صبح
موقع درج این پیغام خطا رو بهم میده :(

Column 'file_up' cannot be null

nokhodi
سه شنبه 08 بهمن 1392, 10:46 صبح
دوست عزیز بنده دیگه نمیدونم با چه زبانی باید توضیح بدم :لبخند:
این لینک رو ببینید
http://www.w3schools.com/php/php_file_upload.asp

:افسرده:

این لینک رو قبلا دیدم...اگه مشکلم رو حل میکرد رو اینجا تاپیک نمیزدم :(

حداقل جواب اون سوالم رو بدین که اون قطعه کدی رو که گفتین کجا باید بزارم؟!

foreach
سه شنبه 08 بهمن 1392, 10:55 صبح
:افسرده:

این لینک رو قبلا دیدم...اگه مشکلم رو حل میکرد رو اینجا تاپیک نمیزدم :(

حداقل جواب اون سوالم رو بدین که اون قطعه کدی رو که گفتین کجا باید بزارم؟!

اون کد فقط برای چک کردن فایلیه که میخواید آپلود کنید
قبلا از اینکه مطلبتون رو در دیتابس ذخیره کنید باید چک کنید که اصلا فایلی ارسال شده و اینکه فایلی که ارسال شده مجاز برای آپلود هست یا نه
بعد از اون باید فایل رو آپلود کنید و لینکش رو همراه مطلب در دیتابس ذخیره کنید

nokhodi
سه شنبه 08 بهمن 1392, 11:18 صبح
اوکی کرفتم...اینو قبل دستورات درج گذاشتم...

این متغیری که لینک رو داره همون $fileType ؟ یا چیز دیگه؟
که اونو برای ذخیره بدم به بانک

foreach
سه شنبه 08 بهمن 1392, 11:31 صبح
اوکی کرفتم...اینو قبل دستورات درج گذاشتم...

این متغیری که لینک رو داره همون $fileType ؟ یا چیز دیگه؟
که اونو برای ذخیره بدم به بانک
وقتی شما فایل رو در مسیر دلخواه خودتون آپلود کردید لینکش رو هم در متغیر بریزید و در دیتابس ذخیره کنید


<?php

$site = 'http://example.com';
$dir = '/upload/';
$file = $dir.$_FILES['file']['name'];

move_uploaded_file($_FILES['file']['tmp_name'],$file);

echo $site.$file;

?>

nokhodi
سه شنبه 08 بهمن 1392, 11:55 صبح
این داستان ها داره ...همینطوری اینقد راحتم نمیشه...:افسرده: مغزم پوکید...