Re: Warning: file_get_contents(): Filename cannot be empty
| From: | Ashley Sheridan | Date: | Mon, 09 Mar 2015 08:26:02 +0000 |
| Subject: | Re: Warning: file_get_contents(): Filename cannot be empty | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-324601@lists.php.net to get a copy of this message | ||
On Mon, 2015-03-09 at 11:18 +0300, hadi wrote:
>
> > -----Original Message-----
> > From: Ashley Sheridan [mailto:ash@ashleysheridan.co.uk]
> > Sent: Monday, March 09, 2015 10:46 AM
> > To: hadi
> > Cc: 'Marcos Almeida Azevedo'; 'PHP General'
> > Subject: Re: [PHP] Warning: file_get_contents(): Filename cannot be empty
> >
> > On Mon, 2015-03-09 at 10:40 +0300, hadi wrote:
> > >
> > > > -----Original Message-----
> > > > From: Ashley Sheridan [mailto:ash@ashleysheridan.co.uk]
> > > > Sent: Monday, March 09, 2015 10:31 AM
> > > > To: Marcos Almeida Azevedo
> > > > Cc: hadi; PHP General
> > > > Subject: Re: [PHP] Warning: file_get_contents(): Filename cannot be
> > > > empty
> > > >
> > > > On Mon, 2015-03-09 at 15:25 +0800, Marcos Almeida Azevedo wrote:
> > > > > > Hi every one,
> > > > > >
> > > > > > Im getting error while using file_get_contents(): function.
> > > > > >
> > > > > > (Warning: file_get_contents(): Filename cannot be empty)
> > > > > >
> > > > > > Im using file_get_contents(): function to get urls links from
> > > > > ($convert)
> > > > > > variable.
> > > > > >
> > > > > > Here is my code
> > > > > >
> > > > > > <?php
> > > > > >
> > > > > >
> > > > > > error_reporting(E_ALL);
> > > > > > ini_set("display_errors", 1);
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > $url =
> > > > > > "http://www.sahafah.net/rss.php";
> > > > > >
> > > > > >
> > > > > > $rss = file_get_contents($url);
> > > > > >
> > > > >
> > > > >
> > > > > I believe file_get_contents should be used on a local file and not
> > > > > remote or over http
> > > >
> > > > You can use file_get_contents() on URLs, but you need to have the
> > > > allow_url_fopen ini setting on, which a lot of shared hosting
> > > > providers won't allow. I don't remember if this is on or off by
> > > > default.
> > >
> > > allow_url_fopen its on in my system, im using php on windows with
> > apache.
> > >
> > > What about im getting error from file_get_contents().....
> > >
> > >
> > >
> >
> > I just made a quick test script and this works fine:
> >
> > <?php
> > $url = "http://www.sahafah.net/rss.php"; $rss =
> > file_get_contents($url);
> >
> > var_dump($rss);
> >
> >
> > So it sounds like something on your system. Can you confirm that
> > allow_url_fopen is on (with a phpinfo() call perhaps or an ini_get()
> > call)
> >
> > Next thing to check is the Windows firewall. It could be blocking the
> > outbound call.
>
>
> Ash,
>
> Im ably to get the url data, but im not able to get the image from the url.
> If you see my code you will notice that im grapping the image like this,
>
> > $string2 = $item->description;
> > preg_match('/http.*.jpg/',$string2,$match2);
>
> and convert match2 from array to string.
>
> > $convert = implode(",", $match2);
>
> And finally use file_get_contents to get urls image from $convert
>
> // Read image path, convert to base64 encoding
> $imageData = base64_encode(file_get_contents($convert));
>
> // Format the image SRC: data:{mime};base64,{data};
> $src = 'data: '.exif_imagetype($convert).';base64,'.$imageData;
>
> // Echo out a sample image
> echo '<img src="', $src, '">';
>
>
Ah, as your initial mail just had your entire code and the error with no
line numbers, I assumed the first file_get_contents() call was the
issue.
What happens when you debug your code? What does $convert contain? Is it
a string containing a URL?
Thanks,
Ash
http://www.ashleysheridan.co.uk