PDA

View Full Version : سوال: آپلود عکس در ویرایشگر CKEditor



ravand
دوشنبه 03 فروردین 1394, 16:29 عصر
سلام
من با ویرایشگر CKEditor خواستم تصویری رو اپلود کنم.
در قسمت ارسال عکس و در قسمت کدهای جاوا اسکریپت امدم همچین کدی رو گذاشتم:

CKEDITOR.replace( 'editor1', {
filebrowserUploadUrl: "up.php"
} );

بعد سمت سرور برای کدهای آپلود عکس این کدها رو گذاشتم:

<?php
$url = 'upload/'.time()."_".$_FILES['upload']['name'];
if (($_FILES['upload'] == "none") OR (empty($_FILES['upload']['name'])) )
{
$message = "No file uploaded.";
}
else if ($_FILES['upload']["size"] == 0)
{
$message = "The file is of zero length.";
}
else if (($_FILES['upload']["type"] != "image/pjpeg") AND ($_FILES['upload']["type"] != "image/jpeg") AND ($_FILES['upload']["type"] != "image/png") AND ($_FILES['upload']["type"] != "image/gif"))
{
$message = "The image must be in either GIF , JPG or PNG format. Please upload a JPG or PNG instead.";
}

else if (!is_uploaded_file($_FILES['upload']["tmp_name"]))
{
$message = "You may be attempting to hack our server. We're on to you; expect a knock on the door sometime soon.";
}
else {
$message = "";

$move = move_uploaded_file($_FILES['upload']['tmp_name'], $url);
if(!$move)
{
$message = "Error moving uploaded file. Check the script is granted Read/Write/Modify permissions.";
}
//$url = "../" . $url;
}


if($message != "")
{
$url = "";
}

$funcNum = $_GET['CKEditorFuncNum'] ;
echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($funcNum , '$url', '$message');</script>";
?>

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

زینب فاطمی
سه شنبه 04 فروردین 1394, 11:24 صبح
سلام
قبل body این فایل رو گذاشتم :


<script src="js/jquery.js"></script>



<script src="ckeditor/ckeditor.js"></script>


فایل kcfinder هم علاوه بر فایل CKEditor هم اضافه کردم

این هم html


<textarea id="pic"></textarea>


اخرم این رو نوشتم :




<script type="text/javascript">
CKEDITOR.replace('pic', {
width: '100%',
filebrowserBrowseUrl: '../../kcfinder/browse.php?type=files',
filebrowserImageBrowseUrl: '../../kcfinder/browse.php?type=images',
filebrowserFlashBrowseUrl: '../../kcfinder/browse.php?type=flash',
filebrowserUploadUrl: '../../kcfinder/upload.php?type=files',
filebrowserImageUploadUrl: '../../kcfinder/upload.php?type=images',
filebrowserFlashUploadUrl: '../../kcfinder/upload.php?type=flash'
});
</script>

ravand
سه شنبه 04 فروردین 1394, 14:55 عصر
این کار رو کردم بهم پیام داد : شما فاقد مجوز برای ارسال فایل ها هستید.

blue.web9
سه شنبه 04 فروردین 1394, 15:34 عصر
این کار رو کردم بهم پیام داد : شما فاقد مجوز برای ارسال فایل ها هستید.
منم این مشکل داشتم ، با خاموش کردن safe mode درست شد .
از پشتیبانی هاست درخواست کنید.

ravand
سه شنبه 04 فروردین 1394, 15:38 عصر
منم این مشکل داشتم ، با خاموش کردن safe mode درست شد .
از پشتیبانی هاست درخواست کنید.
این مشکل توی سیستمم هست. روی هاستم هنوز امتحان نکردم.ولی عجیب اینه که روش اولی که خودم امتحان کردم فایل رو اپلود میکنه ولی دکمه ی پذیرش زده نمیشه! اون روش رو نمیشه کاریش کرد؟

زینب فاطمی
سه شنبه 04 فروردین 1394, 21:32 عصر
سلام
اینجا (http://barnamenevis.org/showthread.php?224642-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-CKEditor-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-jQuery-%D9%88-AJAX)رو بخونید .اموزش خوبی هست.ان شاالله حل میشه.

ravand
چهارشنبه 05 فروردین 1394, 17:09 عصر
متاسفانه هنوز مشکل قبلی پار برجاست. این روشی که شما گفتید مثل همون روش خودم شد. و بازم وقتی عکس آپلود میشه وقتی روی دکمه ی پذیرش کلیک میکنم که عکس داخل ویرایشگر قرار بگیره دکمه کلیک نمیشه!
اینم تصویر پنجره:
129721
وقتی روی دکمه ی سبز رنگ پذیرش کلیک میکنم هیچ اتفاقی نمی افته در صورتی که عکس باید داخل ویرایشگر قرار بگیره!

under22
پنج شنبه 06 فروردین 1394, 12:42 عصر
اون کدی که خودت برای آپلود نوشتی رو پاک کن اینکاری که میگم بکن
ابتدا ckeditor و از اول دانلود کن و داخل پروژه بزار و بعد پلاگین kcfinder رو دانلود کن کنار ckeditor بزار و تو فایل کانفیگش kcfinder رو اضافه کن .
خب پلاگین kcfinder برای آپلود عکس هست با امکانات بینظیر .
برو داخل کانفیگ kcfinder و آدرس پوشه آپلود رو بده و Mimtype مورد نظر و تنظیمات مربوط به عکس رو انجام بده و خاصیت disabled رو برابر true قرار بده و داخل پروژت به این شکل ckeditor رو قرار بده ولی قبلش هر جا که میخای ازش استفاده کنی باید سشن ست کنی که از بیرو نقابل دسترس نباشه به این شکل


$_SESSION['KCFINDER']['disabled'] = false;

برای اضافه کردن ckeditor هم به این شکل باید این متغییر ها رو براش بفرستی


CKEDITOR.replace('editor1', {
language: 'fa',
width: '100%',
contentsCss:'../../ckeditor/plugins/strinsert/css/style.css' ,
removePlugins: 'forms,strinsert,elementspath,autosave,flash,about ,format,font,timestamp,stylescombo,templates,lists tyle,link,div,save,iframe,showblocks,showborders,s miley,print,pagebreak,newpage,language,justify,htm lwriter,preview,colorbutton,colordialog,scayt,wsc' ,
filebrowserBrowseUrl: '<?php echo Yii::app()->baseUrl; ?>/kcfinder/browse.php?type=files',
filebrowserImageBrowseUrl: '<?php echo Yii::app()->baseUrl; ?>/kcfinder/browse.php?type=images',
filebrowserFlashBrowseUrl: '<?php echo Yii::app()->baseUrl; ?>/kcfinder/browse.php?type=flash',
filebrowserUploadUrl: '<?php echo Yii::app()->baseUrl; ?>/kcfinder/upload.php?type=files',
filebrowserImageUploadUrl: '<?php echo Yii::app()->baseUrl; ?>/kcfinder/upload.php?type=images',
filebrowserFlashUploadUrl: '<?php echo Yii::app()->baseUrl; ?>/kcfinder/upload.php?type=flash'
});