رفتن به مطلب

مشکل در آپلود


goldenfont

پست های پیشنهاد شده

اینو ابتدای کدها اضافه کنید


<?php
$upload_dir = wp_upload_dir();
$folder = $upload_dir['path'];
?>

  • امتیاز 2
لینک به ارسال

هرجا گذاشتم سایت خراب شد ، کجا بزارم ؟


<?php
/**
* @package WordPress
* @subpackage Showcaser Theme
*/
//register settings
function showcaser_theme_settings_init(){
register_setting( 'showcaser_theme_settings', 'showcaser_theme_settings' );
}
//menu
function showcaser_add_settings_page() {
add_menu_page( __( 'Showcaser' ), __( 'تنظيمات پوسته' ), 'manage_options', 'showcaser-settings', 'showcaser_theme_settings_page');
}
add_action( 'admin_init', 'showcaser_theme_settings_init' );
add_action( 'admin_menu', 'showcaser_add_settings_page' );
//start settings page
function showcaser_theme_settings_page() {
global $slider_effects;
if ( ! isset( $_REQUEST['updated'] ) )
$_REQUEST['updated'] = false;
if(isset($_REQUEST['submit'])){
$folder = get_template_directory()."/upload/";
$folder_uri = get_template_directory_uri()."/upload/";
$filename = $_FILES["favicon"]["name"];
$allowedExts = array("jpg", "jpeg", "gif", "png");
$img_extension = end(explode(".", $filename));
if ($filename != NULL && ($_FILES["favicon"]["size"] < 200000) && in_array($img_extension, $allowedExts)){
while(file_exists($folder.$filename))
{
$img_count+=1;
$img_ex = explode(".", $filename);
$filename = $img_ex[0].$img_count.".".$img_ex[1];
}
move_uploaded_file($_FILES["favicon"]["tmp_name"] , $folder.$filename);
$_REQUEST['showcaser_theme_settings']['favicon']=$folder_uri.$filename;
}
else{
$_REQUEST['showcaser_theme_settings']['favicon']="";
}
$filename2 = $_FILES["logo"]["name"];
$img_extension2 = end(explode(".", $filename));
if ($filename2 != NULL && ($_FILES["logo"]["size"] < 200000) && in_array($img_extension2, $allowedExts)){
while(file_exists($folder.$filename2))
{
$img_count2+=1;
$img_ex2 = explode(".", $filename2);
$filename2 = $img_ex2[0].$img_count2.".".$img_ex2[1];
}
move_uploaded_file($_FILES["logo"]["tmp_name"] , $folder.$filename2);
$_REQUEST['showcaser_theme_settings']['logo']=$folder_uri.$filename2;
}
else{
$_REQUEST['showcaser_theme_settings']['logo']="";
}
$showcaser_theme_settings = $_REQUEST['showcaser_theme_settings'];
update_option( 'showcaser_theme_settings' , $showcaser_theme_settings);
}
?>

لینک به ارسال

در کل روش درستی نیست

این خطوط رو حذف


$folder = get_template_directory()."/upload/";
$folder_uri = get_template_directory_uri()."/upload/";

و جایگزین کنید


$upload_dir = wp_upload_dir();
$folder = $upload_dir['baseurl'];
$folder_uri = $upload_dir['url'];

  • امتیاز 1
لینک به ارسال

بازم ارور میده

در اون روشی که درسته

فراخوانی که صد درصد همنیه

دستور شرط رو لطف میکنین بدید ؟

لینک به ارسال

شرط نداره

باید اجراش کنید


if (is_uploaded_file($_FILES['head']['tmp_name'])) {
$upload = wp_upload_bits($_FILES["head"]["name"], null, file_get_contents($_FILES["head"]["tmp_name"]));
echo $upload['file'];
echo $upload['url'];
echo $upload['error'];
}

  • امتیاز 3
لینک به ارسال

خب این کدها باید در بالای تم ادمین بصورت توابع بیاد ؟

بعد چطوری دکمه آپلود رو بزارم ؟

ممنون

لینک به ارسال

لطفا سوالهای تکراری و اسپم ارسال نکنید

فرم HTML

ساخت پنل تنظیمات و محل قرار گیری شرطها

http://forum.wp-parsi.com/tutorials/article/145-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%D9%BE%D9%86%D9%84-%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA-%D8%AF%D8%B1-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA/

لینک به ارسال

چرا هی ساخت پنل تنظیمات رو میدین ؟

پنل تنظیمات که ساخته شده

فایلهای شرط که قرار گرفته

خب این کدها میگین اشتباهن

حالا کدهای شرط و کدهای دکمه آپلود و کد فراخوانی رو میخوام

نمیفهمم چرا باز آموزش ساخت پنل تنظیمات رو میدید لینکشو ؟ !

ممنون میشم کمک کنید

4 صفحه شده این تایپیک

لینک به ارسال

کد درست. اشتباه نیست!

دکمه آپلود یک input هست در تاپیکی که لینک داده شده هست

فقط نام file input را تغییر دهید

لینک به ارسال

بزارید یکار دیگه کنیم

من کدهارو قرار میدم

هر کدوم هر اشکالی دارن و باید اصلاح بشن شما تو یک پاسخ قرار بدید

اینطوری منم دیگه میرم خونمون شما راحت میشی

1-بخش توابع که در ابتدای تم آپشن قرار میگیره


//start settings page
function showcaser_theme_settings_page() {
global $slider_effects;
if ( ! isset( $_REQUEST['updated'] ) )
$_REQUEST['updated'] = false;
if(isset($_REQUEST['submit'])){
$folder = get_template_directory()."/upload/";
$folder_uri = get_template_directory_uri()."/upload/";
$filename = $_FILES["favicon"]["name"];
$allowedExts = array("jpg", "jpeg", "gif", "png");
$img_extension = end(explode(".", $filename));
if ($filename != NULL && ($_FILES["favicon"]["size"] < 200000) && in_array($img_extension, $allowedExts)){
while(file_exists($folder.$filename))
{
$img_count+=1;
$img_ex = explode(".", $filename);
$filename = $img_ex[0].$img_count.".".$img_ex[1];
}
move_uploaded_file($_FILES["favicon"]["tmp_name"] , $folder.$filename);
$_REQUEST['showcaser_theme_settings']['favicon']=$folder_uri.$filename;
}
else{
$_REQUEST['showcaser_theme_settings']['favicon']="";
}
$filename2 = $_FILES["logo"]["name"];
$img_extension2 = end(explode(".", $filename));
if ($filename2 != NULL && ($_FILES["logo"]["size"] < 200000) && in_array($img_extension2, $allowedExts)){
while(file_exists($folder.$filename2))
{
$img_count2+=1;
$img_ex2 = explode(".", $filename2);
$filename2 = $img_ex2[0].$img_count2.".".$img_ex2[1];
}
move_uploaded_file($_FILES["logo"]["tmp_name"] , $folder.$filename2);
$_REQUEST['showcaser_theme_settings']['logo']=$folder_uri.$filename2;
}
else{
$_REQUEST['showcaser_theme_settings']['logo']="";
}
$showcaser_theme_settings = $_REQUEST['showcaser_theme_settings'];
update_option( 'showcaser_theme_settings' , $showcaser_theme_settings);
}
?>

بخش دکمه آپلود :


<tr valign="top">
<th scope="row"><?php _e( 'لوگو' ); ?></th>
<td>
<input id="showcaser_theme_settings[logo]" class="regular-text" type="file" size="36" name="logo" value="<?php esc_attr_e( $options['logo'] ); ?>" />
<br />
<label class="description abouttxtdescription" for="showcaser_theme_settings[logo]"><?php _e( 'آپلود کنید یا آدرس تصویر لوگو را وارد کنید.' ); ?></label>
<br />
<img src="<?php esc_attr_e( $options['logo'] ); ?>" />
</td>
</tr>

این هم فراخوانی :


<?php echo $options['favicon']; ?>

بیزحمت شما هم این 3 قسمت رو بمن بدید

بسیار سپاسگزارم

ممنون

لینک به ارسال

ممنون

قسمت اول شد این :


if (is_uploaded_file($_FILES['head']['tmp_name'])) {
$upload = wp_upload_bits($_FILES["head"]["name"], null, file_get_contents($_FILES["head"]["tmp_name"]));
echo $upload['file'];
echo $upload['url'];
echo $upload['error'];
}

"""" فقط update_option رو برای ذخیره استفاده کنید

مقدار $upload['url'] را باید ذخیره کنید """"""گ

این دو کار رو چطور انجام بدم ؟

لینک به ارسال

تست کنید

شما نمیتوانید به نوع file input مقدار دهید . value

theme-admin.php

  • امتیاز 3
لینک به ارسال

پارسا جان دستت دردنکنه

ولی باز همونطوریه

ینی وقتی اونکی فایل رو آپلود میکنی بقیه عکسها میپره!

لینک به ارسال

یعنی مشکل از چیه ؟

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

لینک به ارسال

احتمالا داره روی قبلی ها ذخیره میکنه شاید بخاطر هم اسم بودن

  • امتیاز 1
لینک به ارسال

نه هم اسم نیستن

روی قبلی ها هم سیو نمیکنه

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

ولی فقط یدونه رو بخوای تغییر بدی بقیه همه میپره

لینک به ارسال

من فایل رو باز کردم

فقط یک بخش برای آپلودعکس بود در بخش تنظیمات پوسته

منظورتون همینجاست؟

  • امتیاز 1
لینک به ارسال

بله

خب شما این فایل که آقا پارسا زحمت کشیدند دادن رو ببینین

بخش لوگو و فاوآیکون

برای آپلود هستن

لینک به ارسال

یچیزی فهمیدم

مشکل از آپلود بقیه عکسها نیست !!!!

مشکل از کلدی ذخیره هستش

ینی اگ هیچکاری نکنی و فقط کلید ذخیره رو بزنی همه عکسها میپره

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

ولی اگ بعدش یبار دیگه دکمه ذخیره رو بزنی همچی مپیره !!!!

لینک به ارسال

اینو جایگزین خط update_option کنید . حدود خط 40


$showcaser_theme_settings = $_REQUEST['showcaser_theme_settings'];
$options = get_option( 'showcaser_theme_settings' );
$showcaser_theme_settings = array_merge($options,$showcaser_theme_settings);
update_option( 'showcaser_theme_settings' , $showcaser_theme_settings);

  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...