fopen not working when a variable is specified - php

im trying to get the contents of file and storing it in a file on my system, that function is working fine, when i specify the url the function is working fine, but when supply a variable which has url stored in it, it stores an empty file, meaning it failed getting the contents of the file, i have tried dozens of solutions but none is working, there is also a solution on php.net but its also not working, here is the code:
$filePath = str_replace("Vary:", "", $items[13]);
//$encoding = mb_detect_encoding($filePath);
//$filePath = mb_convert_encoding($filePath, "ASCII", $encoding);
//$filePath = str_replace("?", "", $filePath);
//$filePath = addslashes($filePath);
//file_put_contents('path/'.$file_name, fopen("".$target_url."","r"));
file_put_contents('path/'.$file_name, fopen($filePath,"rb"));

Figured it out just trimmed the variable and it worked
$filePath = str_replace("Vary:", "", $items[13]);
$filePath = trim($filePath);

Related

get php file execution result

i'm new in php. and using php on xampp and also in real server. i have a php file that receives on image as String and saves it as image that im gonna use this file with a library in android that uploads image to php file.
the string is sent to php file but no file is saved as image. my problem is that i cant figure out how to get result of executing this php file. i cant get response with my upload library , if i could get echo from this file for test purpose, so i could test it or if i could get error log of execution of file in xampp. but i have no clue how to test php file that is not containing view so i cant echo any thing.
this is my php file code:
<?php
if($_POST){
$data = $_POST['imgBase64'];
$data = str_replace('data:image/png;base64,', '', $data);
$data = str_replace(' ', '+', $data);
$data = base64_decode($data);
$file = ''.rand() . '.png';
$success = file_put_contents($file, $data);
$data = base64_decode($data);
$source_img = imagecreatefromstring($data);
$rotated_img = imagerotate($source_img, 90, 0);
$file = 'localhost/serverp/server.parhamcode.ir/'. rand(). '.png';
$imageSave = imagejpeg($rotated_img, $file, 10);
imagedestroy($source_img);
}
?>
try this:
<?php
file_put_contents('./debug.log', $_POST, FILE_APPEND);
then you'll get a debug.log file under the same folder as your PHP script.
you can change $_POST to any variable you want to check.
If you want to echo something in this log file :
file_put_contents('./debug.log', "any string is ok.", FILE_APPEND);

base64 image file get corrupt while uploading to php server

Similar question has been asked previously but it didn't solve my problem so i am asking here again. Actually i am uploading base64 image file to php server and i have to save it there. I tried every suggested help but nothing works for me. my code
// here is my base64 code for image
data:image/jpeg;base64,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
$src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2OTApLCBxdW... ";
// above the example of image base64 file
// and server side code in php, i have posted base64 to php
$img_part = explode(";base64,",$_POST['base64']);
$img_type_aux = explode("image/",$img_part[0]);
$ext = $img_type_aux[1];
$image_base64 = base64_decode($img_part[1]);
// i have tried all possible code like here $name = random_value+$ext
file_put_contents($name,$image_base64); // didn't work then i used str_replace
$image_base64 = str_replace(' ','+',$image_base64);
file_put_contents($name,$image_base64); // i also didn't work
$fp = fopen($name,"wb");
fwrite($fp,$image_base64); // i also didn;t work
fclose($fp);
please someone help me,
Use this function This will work.
function convertBase64toimage($image_string){
$name='test_with_new_image.jpeg';
$folderPath=$_SERVER['DOCUMENT_ROOT'] . "/test/";
$img_part = explode(";base64,",$image_string);
$img_type_aux = explode("image/",$img_part[0]);
$ext = $img_type_aux[1];
$image_base64 = base64_decode($img_part[1]);
$file = $folderPath .$name;
file_put_contents($file,$image_base64);
}
$string='data:image/jpeg;base64,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';
$a=convertBase64toimage($string);
And output of the code

On creating zip file by php I get two files instead of one

I'm struggling around with a simple PHP functionality: Creating a ZIP Archive with some files in.
The problem is, it does not create only one file called filename.zip but two files called filename.zip.a07600 and filename.zip.b07600. Pls. see the following screenshot:
The two files are perfect in size and I even can rename each of them to filename.zip and extract it without any problems.
Can anybody tell me what is going wrong???
function zipFilesAndDownload_Defect($archive_file_name, $archiveDir, $file_path = array(), $files_array = array()) {
// Archive File Name
$archive_file = $archiveDir."/".$archive_file_name;
// Time-to-live
$archiveTTL = 86400; // 1 day
// Delete old zip file
#unlink($archive_file);
// Create the object
$zip = new ZipArchive();
// Create the file and throw the error if unsuccessful
if ($zip->open($archive_file, ZIPARCHIVE::CREATE) !== TRUE) {
$response->res = "Cannot open '$archive_file'";
return $response;
}
// Add each file of $file_name array to archive
$i = 0;
foreach($files_array as $value){
$expl = explode("/", $value);
$file = $expl[(count($expl)-1)];
$path_file = $file_path[$i] . "/" . $file;
$size = round((filesize ($path_file) / 1024), 0);
if(file_exists($path_file)){
$zip->addFile($path_file, $file);
}
$i++;
}
$zip->close();
// Then send the headers to redirect to the ZIP file
header("HTTP/1.1 303 See Other"); // 303 is technically correct for this type of redirect
header("Location: $archive_file");
exit;
}
The code which calls the function is a file with a switch-case... it is called itself by an ajax-call:
case "zdl":
$files_array = array();
$file_path = array();
foreach ($dbh->query("select GUID, DIRECTORY, BASENAME, ELEMENTID from SMDMS where ELEMENTID = ".$osguid." and PROJECTID = ".$osproject.";") as $subrow) {
$archive_file_name = $subrow['ELEMENTID'].".zip";
$archiveDir = "../".$subrow['DIRECTORY'];
$files_array[] = $archiveDir.DIR_SEPARATOR.$subrow['BASENAME'];
$file_path[] = $archiveDir;
}
zipFilesAndDownload_Defect($archive_file_name, $archiveDir, $file_path, $files_array);
break;
One more code... I tried to rename the latest 123456.zip.a01234 file to 123456.zip and then unlink the old 123456.zip.a01234 (and all prior added .a01234 files) with this function:
function zip_file_exists($pathfile){
$arr = array();
$dir = dirname($pathfile);
$renamed = 0;
foreach(glob($pathfile.'.*') as $file) {
$path_parts = pathinfo($file);
$dirname = $path_parts['dirname'];
$basename = $path_parts['basename'];
$extension = $path_parts['extension'];
$filename = $path_parts['filename'];
if($renamed == 0){
$old_name = $file;
$new_name = str_replace(".".$extension, "", $file);
#copy($old_name, $new_name);
#unlink($old_name);
$renamed = 1;
//file_put_contents($dir."/test.txt", "old_name: ".$old_name." - new_name: ".$new_name." - dirname: ".$dirname." - basename: ".$basename." - extension: ".$extension." - filename: ".$filename." - test: ".$test);
}else{
#unlink($file);
}
}
}
In short: copy works, rename didn't work and "unlink"-doesn't work at all... I'm out of ideas now... :(
ONE MORE TRY: I placed the output of $zip->getStatusString() in a variable and wrote it to a log file... the log entry it produced is: Renaming temporary file failed: No such file or directory.
But as you can see in the graphic above the file 43051221.zip.a07200 is located in the directory where the zip-lib opens it temporarily.
Thank you in advance for your help!
So, after struggling around for days... It was so simple:
Actually I work ONLY on *nix Servers so in my scripts I created the folders dynamically with 0777 Perms. I didn't know that IIS doesn't accept this permissions format at all!
So I remoted to the server, right clicked on the folder Documents (the hierarchically most upper folder of all dynamically added files and folders) and gave full control to all users I found.
Now it works perfect!!! The only thing that would be interesting now is: is this dangerous of any reason???
Thanks for your good will answers...
My suspicion is that your script is hitting the PHP script timeout. PHP zip creates a temporary file to zip in to where the filename is yourfilename.zip.some_random_number. This file is renamed to yourfilename.zip when the zip file is closed. If the script times out it will probably just get left there.
Try reducing the number of files to zip, or increasing the script timeout with set_time_limit()
http://php.net/manual/en/function.set-time-limit.php

PHP Data-URI to file

I have a data URI I am getting from javascript and trying to save via php. I use the following code which gives a apparently corrupt image file:
$data = $_POST['logoImage'];
$uri = substr($data,strpos($data,",")+1);
file_put_contents($_POST['logoFilename'], base64_decode($uri));
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs 9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAxklEQVQYlYWQMW7CUBBE33yITYUUmwbOkBtEcgUlTa7COXIVV5RUkXKC5AxU EdyZVD4kyKxkwIrr9vd0c7Oih aopinLNsF6Qkg2XW4XJ7LGFsAAcTV6lF5/jLdbALA9XDAXYfthFQVx OrmqKYK88/7rbbMFksALieTnzu9wDYTj6f70PKsp2kwAiSvjXNcvkWpAfNZkzWa/5a9yT7fdoX7rrB7hYh2fXo9HdjPYQZu3MIU8bYIlW20y0RUlXG2Kpv/vfwLxhTaSQwWqwhAAAAAElFTkSuQmCC
Below the code is the actual image as a Data-URI. 'logoImage' is the string above, and $uri is the string minus 'image/jpeg;base64,'.
A quick look at the PHP manual yields the following:
If you want to save data that is derived from a Javascript
canvas.toDataURL() function, you have to convert blanks into plusses.
If you do not do that, the decoded data is corrupted:
$encodedData = str_replace(' ','+',$encodedData);
$decodedData = base64_decode($encodedData);
The data URI you have in your example is not a valid PNG image. This will never work and is unrelated to the code, it's related to the data.
Does not apply but might be of interest:
file_put_contents($_POST['logoFilename'], file_get_contents($data));
The idea behind: PHP itself can read the contents of data URIs (data://) so you don't need to decode it on your own.
Note that the official data URI scheme (ref: The "data" URL scheme RFC 2397) does not include a double slash ("//") after the colon (":"). PHP supports with or without the two slashes.
# RFC 2397 conform
$binary = file_get_contents($uri);
# with two slashes
$uriPhp = 'data://' . substr($uri, 5);
$binary = file_get_contents($uriPhp);
The all code that works :
$imgData = str_replace(' ','+',$_POST['image']);
$imgData = substr($imgData,strpos($imgData,",")+1);
$imgData = base64_decode($imgData);
// Path where the image is going to be saved
$filePath = $_SERVER['DOCUMENT_ROOT']. '/ima/temp2.png';
// Write $imgData into the image file
$file = fopen($filePath, 'w');
fwrite($file, $imgData);
fclose($file);
I have another way to do this with PHP.
$img = str_replace(' ','+',$img);
$i = explode(',', $img);
$imgData = array_pop($i);
$newName = 'digital_file/'. rand(10, 16) . '.' . str_replace('/', '.', mime_content_type($img) );
// data:image/png;base64
$imgData = base64_decode($imgData);
Now you can use file_put_contents($newName) to create the image file.
Produces a file with a random numerical name (e.g. "123123.image.png"). And of course it has correct mime type.

PHP's file_exists() will not work for me?

For some reason this PHP code below will not work, I can not figure it out.
It is very strange,
file_exists does not seem to see that the image does exist, I have checked to make sure a good file path is being inserted into the file_exists function and it is still acting up
If I change file_exists to !file_exists it will return an images that exist and ones that do not exist
define('SITE_PATH2', 'http://localhost/');
$noimg = SITE_PATH2. 'images/userphoto/noimagesmall.jpg';
$thumb_name = 'http://localhost/images/userphoto/1/2/2/59874a886a0356abc1_thumb9.jpg';
if (file_exists($thumb_name)) {
$img_name = $thumb_name;
}else{
$img_name = $noimg;
}
echo $img_name;
file_exists() needs to use a file path on the hard drive, not a URL. So you should have something more like:
$thumb_name = $_SERVER['DOCUMENT_ROOT'] . 'images/userphoto/1/2/2/59874a886a0356abc1_thumb9.jpg';
if(file_exists($thumb_name)) {
some_code
}
http://us2.php.net/file_exists
docs say:
As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to List of Supported Protocols/Wrappers for a listing of which wrappers support stat() family of functionality.
file_exists does only work on the local file system.
So try this if you’re using localhost:
$thumb_name = 'images/userphoto/1/2/2/59874a886a0356abc1_thumb9.jpg';
if (file_exists($_SERVER['DOCUMENT_ROOT'].$thumb_name)) {
$img_name = SITE_PATH2.$thumb_name;
} else {
$img_name = $noimg;
}
Have you enabled the option which allows you to use external URLs? You can set it in php.ini:
allow_url_fopen = 1
You have to write the file path like "file:///C:/Documents%20and%20Settings/xyz/Desktop/clip_image001.jpg".
http://php.net/manual/en/function.file-exists.php
did you check the comments below?
Just reading parts of it, but there seem to be several issues.
Caching may be a problem.
When opening FTP urls it always returns true (they say in the comments)
...
Try Below one. Its working for me
define('SITE_PATH2', 'http://localhost/');
$noimg = SITE_PATH2. 'images/userphoto/noimagesmall.jpg';
$thumb_name = 'http://localhost/images/userphoto/1/2/2/59874a886a0356abc1_thumb9.jpg';
if ($fileopen = #fopen($thumb_name)) {
$img_name = $thumb_name;
fclose($fileopen);
}else{
$img_name = $noimg;
}
echo $img_name;

Categories