drupal image path - drupal

i created a page content type, and put this code in it. and set the input style to php.why the image can't show. i test it on my localhost.
<img src="<?php echo $bath_path; ?>/images/1.jpg">

Drupal way:
$path2file = base_path().'/images/1.jpg'; // If image located in {drupal root}/images. If image located in files directory, use file_directory_path() to get this path
print theme('image', $path_to_file, t('Image altername name'), t('Image title'));

Related

Force download PDF file from URL in wordpress

In WordPress, how do I create a link to a file such as "file.pdf" and force it to download instead of opening the file in the browser?
Just add download attribute ( download) on your a tags and leave it empty as a default file name of a file.
Example:
< a href="http://wordpress.org/download/download.pdf" target="_blank" download>WordPress Download PDF</a>
make download.php in theme folder
<?php
$url = $_REQUEST['file_url'];
$filename = basename($url);
$filetype = filetype($url);
header('Content-Disposition: attachment; filename=' . $filename);
header("Content-type: " . $filetype); // act as image with right MIME type
ob_clean();
flush();
readfile($url);
exit;
then hit anchor link from html page. in this code your file url may be same domain or diffrent domain does not matter
click to download

Fetch image from specific directory in drupal

I'm beginner in drupal. I would like to fetch images from specific folder in drupal. Is there any way to fetch drupal images directly from any specific in custom theme.
You should use only images from your theme. And you can get path to your theme like this:
$theme = drupal_get_path('theme',$GLOBALS['theme']);
Put that i.e. at top of template file that uses theme images. And then inside your theme templates you can have something like:
<img src="/<?php echo $theme; ?>/images/my_image.png">
If you stored you theme images inside images dir...
If an array of image paths on your local filesystem is what you want - use this code, it should do what you need. gets all the png jpg gif paths within the sites/default/files/vegas directory.
//We will use the stream wrapper to access your files directory
if ($wrapper = file_stream_wrapper_get_instance_by_uri('public://')) {
//Now we can easily get an actual path to that folder
$directory = $wrapper->realpath();
//Don't forget to append your "vegas" subfolder here
$directory .= DIRECTORY_SEPARATOR . 'vegas' . DIRECTORY_SEPARATOR;
$images = glob($directory . "*.{jpg,png,gif}", GLOB_BRACE);
foreach($images as $imagePath)
{
//Do your thing!
echo $imagePath;
}
}

How to get the images from the posts

I have implemented my blog using wordpress and in my posts iam directly posts the images but while if I want to display them they are not retrieving.
I have used the_content() then it was displaying the image with the remaining content in that post can anyone suggest me How to retrieve those images..??Thanx in advance
You are inserting images in the content area,so obviously it will be appearing as content on front end.
You need to set the images as Featured image or add them by using Add media option at the top of text editor.
For retrieving the image from Featured image:(Single image)
wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full')
For retrieving the image from Add media:(Multiple images)
$img_small = get_children('order=ASC&orderby=menu_order&post_type=attachment&post_parent=' . $post->ID);
foreach ($img_small as $imagesmall) {
$attachmentID = $imagesmall->ID;
$attachmentURL = wp_get_attachment_url($attachmentID);
<img src="<?php bloginfo('template_url'); ?>/phpThumb/phpThumb.php?src=<?php echo $attachmentURL; ?>&w=365&h=280&iar=1">alt="Image" />
}

Drupal 7 Get image field path

I would like to get the image path of a field. I'm in a node and I need the Url of image in order to put it as a background-image in inline css.
I can't find the solution. Can you help me?
To get just the path of an image from it's URI:
file_create_url($node->field_image['und'][0]['uri']);
More information on file_create_url() can be found here: http://api.drupal.org/api/drupal/includes%21file.inc/function/file_create_url/7
To get the path of an image created using an image style from it's URI use:
image_style_url($style, $node->field_image['und'][0]['uri']);
More information on image_style_url() can be found here: http://api.drupal.org/api/drupal/modules!image!image.module/function/image_style_url/7
I am afraid, none of the solutions above are correct. They don't follow Drupal standards.
// field_video_image is the name of the image field
// using field_get_items() you can get the field values (respecting multilingual setup)
$field_video_image = field_get_items('node', $node, 'field_video_image');
// after you have the values, you can get the image URL (you can use foreach here)
$image_url = file_create_url($field_video_image[0]['uri']);
More details here:
http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way
I sometime use this:
$node = node_load($nid);
$img_url = $node->field_userimage['und'][0]['uri'];
<img src="<?php print image_style_url($style, $img_url) ?>" />
You also can use the Image URL Formatter module. It allows to change the field format in order to get only the URL:
Bonus: it works with Views as well:
to get image style url:
$field = field_get_items('node', $node, 'field_image');
$image_url = image_style_url('landingpage_slider', $field[0]['uri']);

how to get absolute path for a image in drupal?

I have some images in drupal/sites/default/files/images/.
How can I get the absolute path for an image like abc.jpg placed in this directory?
If Drupal is on its own domain (i.e., http://example.com), the absolute path would be /sites/default/files/images/abc.jpg.
If Drupal is in a subfolder (e.g. http://example.com/drupal), the absolute path would be /drupal/sites/default/files/images/abc.jpg.
As I explained in my answer on the same question you deleted, if you are trying to programmatically generate the path (that is, you do not know where the file directory is), you need to use file_directory_path():
$image = file_directory_path() . "/images/abc.jpg";
So if the files are in:
sites/default/files: $image = "sites/default/files/images/abc.jpg".
sites/example.com/files: $image = "sites/example.com/files/images/abc.jpg".
Assuming your previous question is still the use-case, you should be using l() and theme_image() to generate the links and images, respectively, within your module. This will ensure the paths generated are correct given Drupal's environment.
Using the expected output you provided before, a solution would be:
// Images are in drupalroot/sites/default/files/images
$path = file_directory_path() . '/images/';
$detail_file = 'detail_1.jpg';
$image_file = '1.jpg';
$img = theme('image', $path . $image_file);
$options = array(
'attributes' => array(
'title' => t('Sample title for image 1 lorem ipsum'),
),
'html' => TRUE,
);
$output = l($img, $path . $detail_file, $options);
So, assuming your site is at http://example.com/, the output would be:
<a href="/sites/default/files/images/default_1.jpg" title="Sample title for image 1 lorem ipsum">
<img src="/sites/default/files/images/1.jpg" height="<image height>" width="<image width>" />
</a>
But if your site was in a subfolder (e.g. http://example.com/drupal), the output would be:
<a href="/drupal/sites/default/files/images/default_1.jpg" title="Sample title for image 1 lorem ipsum">
<img src="/drupal/sites/default/files/images/1.jpg" height="<image height>" width="<image width>" />
</a>
For Drupal 7
$relativePath = "blabla/abc.jpg";
$uri = file_build_uri($relativePath);
//show public://blabla/abc.jpg
echo $uri;
$url = file_create_url($uri);
//show http://www.yoursite.com/sites/default/files/blabla/abc.jpg
echo $url;
Just use
$url_image = url('sites/default/files/'.file_uri_target($uri), array('absolute'=>true));
In that case you will have a path like "http://www.mywebsite.com/sites/default/files/images/image.jpeg"
$uri is an internal path, like "public://images/image.jpeg"
This is Drupal 7, enjoy it, love it
file_directory_path has been removed in drupal 7. If you use it, you'll get an error 'call to undefined function.' Try to use drupal_real_path or . You can find about the deprecated function here. http://api.drupal.org/api/drupal/includes!file.inc/function/file_directory_path/6
public:// will give you the absolute path of the public folder
Example: to access
drupal/sites/default/files/images/
just put
public://images/
I tried mark's solution and found out that my directory is
"/sites/default/files/images/a.jpg"
But when i write this into my nodes as img src, it didn't show related images.
Besides when i wrote
"../sites/default/files/images/a.jpg"
It worked :)
Because in first case, Drupal tried to find the file in
"content/sites/default/files/images/a.jpg"

Resources