image_style_url চিত্রগুলি তৈরি করে না [বন্ধ]


11

প্রশাসক ইন্টারফেসের মাধ্যমে আমি যুক্ত করা একটি ছবির থাম্বনেল পেতে আমি চিত্র_ স্টাইল_আর্ল ব্যবহার করছি ।

// $foo->field_picture['und'][0]['uri'] has value public://foo.jpg
image_style_url('foo-thumb', $foo->field_picture['und'][0]['uri']);

এপিআই জানিয়েছে যে ইউআরএল অনুরোধ করা হলে চিত্রটি তৈরি করা হবে। তবে পৃষ্ঠাটি দেখার সময় চিত্রটি প্রদর্শিত হয় না (404)। ফাংশন থেকে প্রত্যাবর্তিত ইউআরএলটি বেশ ভাল গঠন হয়েছে বলে মনে হয়, তবে ফাইলটি তৈরি করা হয়নি।

'ফু-থাম্ব' ফোল্ডারটি পাবলিক ডেটা ফোল্ডারে রয়েছে এবং ফাইলের অনুমতিগুলি ঠিক আছে। আমি ইমেজ ক্যাশে ফ্লাশ করার চেষ্টা করেছি (ড্রুপাল ইমেজ-ফ্লাশ ফু-থাম্ব) তবে এখনও কোনও ফলাফল নেই।

কোন ধারনা?

উত্তর:


22

থেকে: https://drupal.org/drupal-7.20- রিলিজ- নোটস

তদ্ব্যতীত, যে কোনও কোড যা প্রোগ্রামিয়ালি স্ট্যান্ডার্ড ইমেজ_স্টাইল_আরএল () এপিআই ফাংশনটি ব্যবহার না করে একটি চিত্র ডেরিভেটিভের সাথে একটি লিঙ্ক উত্পন্ন করে তা যদি ইমেজটি ফাইল সিস্টেমে ইতিমধ্যে উপস্থিত না থাকে তবে প্রয়োজনীয় টোকেনটি উপস্থিত না থাকায় URL টি।

পরিবর্তে আপনি এই জাতীয় কিছু করতে পারেন;

$image_uri      = $node->field_image[LANGUAGE_NONE][0]['uri']; // or any public://my_image
$style          = 'my_style';
$derivative_uri = image_style_url ($style, $image_uri);
$success        = file_exists($derivative_uri) || image_style_create_derivative(image_style_load($style), $image_uri, $derivative_uri);

$new_image_url  = file_create_url($derivative_uri);

2
চিত্কার আছে যদি শেষ না হয়? যেমন: যদি ($ সাফল্য) {_ new_image_url = file_create_url ($ ডেরিভেটিভ_ুরি); }
স্টেফগোসেলিন

3
জন্য একটু আপডেট পরিবর্তনশীল অ্যারে হওয়া উচিতimage_style_create_derivative$style$style = image_style_load('my_style');
ভিক্টর Lazov

আমি পাস উত্তর সম্পাদনা করেছেন $styleযদিও image_style_load()ক্ষণস্থায়ী আগে image_style_create_derivative()অনুযায়ী ডক্স
ফেলিক্স ইভ

ফাইল_ক্রিয়েট_আর্ল ($ ডেরিভেটিভ_রি) ব্যতীত এগুলিতে সমস্ত কিছুই কাজ করেছিল; আমার জন্য কাজ করে না। চিত্রটি কী_স্টাইল_আর্ল ($ শৈলী, $ চিত্র_উরি) এর সাথে (শেষ লাইনে) কাজ করে যাচ্ছিল;
চিহ্নিত করুন

File_create_url এই পদ্ধতিটি চিত্র শৈলীর প্রয়োগ করে না। আমি একটি সমাধান পেয়েছি যা অন্য একটি চিত্র শৈলী প্রয়োগ করে। খুব আশ্চর্যজনক.
হেনরি

7

একটি সাধারণ ভুল হ'ল ইউআরআই সঠিকভাবে ফর্ম্যাট হয় না। আপনার ইউআরআই প্যারামিটারটি উপসর্গযুক্ত রয়েছে কিনা তা পরীক্ষা করুন public://

খারাপ অনুশীলন

$imageUrl = image_style_url('style_name', 'myimage.jpg');
$imageUrl = image_style_url('style_name', $node->field_x[$node->language][0]['filename']);

এটি স্টাইলযুক্ত চিত্রের (চিত্র টোকেন সহ) একটি ইউআরএল আউটপুট দেয় তবে স্টাইলযুক্ত চিত্রটি যখন উত্পন্ন হয় না তখন তৈরি করে না।


ভালো অনুশীলন

$imageUrl = image_style_url('style_name', file_build_uri('myimage.jpg')); // changes to 'public://myimage.jpg'
$imageUrl = image_style_url('style_name', $node->field_x[$node->language][0]['uri']);

এটি উপরের মতো একটি স্টাইলযুক্ত ইউআরএল আউটপুট দেয় এবং যদি উপস্থিত না থাকে তবে একটি স্টাইলযুক্ত চিত্র তৈরি করে।



1

আর একটি বিকল্প থিম ফাংশন ব্যবহার করা হয়।

$img = theme('image_style', array('style_name' => 'your_image_style_machine_name', 'path' => $node->field_image['und'][0]['uri']));

ইউআরএল ফিরিয়ে দেওয়ার পরিবর্তে এটি ইমগের জন্য এইচটিএমএল ফিরিয়ে দেবে।


1
$fid = file_load($field_yuorfield_fid);          
$image_uri = image_style_url('yuor_style', $fid->uri);
fopen($image_uri, 'r');

এখানে এইচটিএমএল তৈরির জন্য ইউআরএল ব্যবহার করতে পারেন


0

আপনার foo-thumbশৈলী আছে তা নিশ্চিত করুন , আপনি এটি পরীক্ষা করতে পারেন admin/config/media/image-styles

ইমেজ_স্টাইল_আরেলের প্রথম পরামিতিগুলি একটি শৈলীর নাম , কোনও ফোল্ডারের নাম নয়।


শৈলীটি বিদ্যমান, ফোল্ডারের নামটি আমার ক্ষেত্রে শৈলীর নামের মতো as
বার্ট

যদি আপনি 404 ত্রুটিটি পেয়ে থাকেন তবে তার মানে মেনুটির অস্তিত্ব নেই। আমি মনে করি আপনার সমস্ত চিত্র শৈলীতে এই সমস্যা রয়েছে। আপনি ড্রুপাল সংস্করণ এবং তথ্য সম্পর্কে আরও ব্যাখ্যা করতে পারেন: - আপনি কোন ওয়েবসারভার ব্যবহার করছেন? - ক্লিন ইউআরএল সেটিংস কি সঠিক?
সাং লে থানহ

মেনুটির অস্তিত্ব নেই কিনা তা আমি জানি না, তবে ফাইলটি অবশ্যই নেই। ফিরে আসা ইউআরএলটি প্রায় সঠিক মনে হচ্ছে, তবে আমি যদি সার্ভারে আমার ফোল্ডারটি পরীক্ষা করি তবে চিত্রটি নেই। দ্রুপাল ('ফু-থাম্ব') দ্বারা নির্মিত ফোল্ডারটি সেখানে রয়েছে। পরিষ্কার ইউআরএল দিয়ে অ্যাপাচি ২.২ চালানো এবং সমস্ত ঠিকঠাক বলে মনে হচ্ছে।
বার্ট

আমি দেখতে পাচ্ছি আপনার চিত্র উত্পন্ন লিঙ্কটি পাওয়া যায় নি। লাইনটি পরীক্ষা করতে আপনি .htaccess ফাইলটি পরীক্ষা করতে পারেন, আপনি কি ErrorDocument 404 /index.phpআপনার ডোমেনের শীর্ষে ড্রুপাল চালাচ্ছেন? অন্যান্য চেষ্টা হ'ল ইমেজম্যাগিক টুলকিট ইনস্টল করুন তবে আমি দেখতে পাই পিএইচপি রেন্ডার করে আপনার সমস্যাটি সমস্যা নয়।
সাং লে থানহ

0

ছবিটি দেখার চেষ্টা করার সময় যদি আপনি একটি 404 পান তবে একটি সম্ভাবনা হ'ল চিত্র শৈলীর নামটি সঠিক নয়। আমার ক্ষেত্রে, স্টাইলের নামটি ইমেজ স্টাইলগুলিতে প্রদর্শিত হয়েছে শৈলীর নামের মেশিনের নাম নয়। শৈলীর উপর ঘুরে বেড়ানোর সময় ইউআরএল শৈলীর নামের মেশিনের নামটি প্রদর্শন করবে। হয় এটি মেশিনের নামে পরিবর্তন করুন বা বর্তমান মুছুন এবং প্রয়োজনীয় নামটি দিয়ে পুনরায় তৈরি করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.