Jump to content

Recommended Posts

Hey all

 

first of all I'm new :D so hy

 

 

my question is regarding the temporary file, I'm running 2 CMS systems on my xampp local server, the first is called PHP-nuke and the second is Nuke evolution (which is build from phpnuke)

 

I created an upload module for both and they work great on real webservers, however on localhost I have the following problem:

 

when uploaded it does not show the proper path (the "\" are missing, but this only happens locally not on real webservers) -> Temp file: C:xampptmpphp42B6.tmp

 

while in regular phpnuke it works fine -> Temp file: C:\xampp\tmp\phpEB72.tmp

 

 

it uses the same settings so why are the "\" missing?

 

 

 

hope anyone can help me out :)

Link to comment
https://forums.phpfreaks.com/topic/145522-temporary-file/
Share on other sites

I'm not using the stripslashes(), here is the code:

 

<?php
$username = $_POST['sender_name'];
$result2 = $db->sql_query("SELECT * FROM `". $prefix ."_upload_config`"); 
$config = $db->sql_fetchrow($result2);
$path= "modules/Upload/images/";
include_once('header.php');
OpenTable();
$random_digit=rand(0000,9999);
$filename = $random_digit.$_FILES["file"]["name"];
$filetype = $_FILES["file"]["type"];
$filesize = $_FILES["file"]["size"];
$filetmp =  $_FILES["file"]["tmp_name"];
$error = $_FILES["file"]["error"];
$maxsize = $config['maxsize'];

$url = $path.$filename;

if ((($filetype == "image/gif") 
|| ($filetype == "image/jpeg") 
|| ($filetype == "image/pjpeg") // for IE
|| ($filetype == "image/png") //to allow another extention just copy paste this line
//and place then the copied line here
// a dynamic version will be released in v1.2 or v1.3 (so add extention from administration)
) && ($filesize < $maxsize))
  {
  if ($error > 0)
    {	
	echo "Return Code: ".$error."<br />";
    }
  else
    {

    echo "Upload: ".$filename."<br />";
    echo "Type: ".$filetype."<br />";
    echo "Size: ".$filesize." Kb<br />";
    echo "Temp file: ".$filetmp."<br />";

    if (file_exists($url))
      {
      echo $filename. " already exists. ";
      }
    else
      {
      move_uploaded_file($filetmp, $url);
      echo "Stored in: ".$url;
  
	$result = $db->sql_query("SELECT * FROM `". $prefix ."_upload`"); 
	$db->sql_query("INSERT INTO ".$prefix."_upload (username, img) VALUES ('".$username."','".$filename."')",$result) or die(mysql_error());
      }
    }
  }
else
  {
  echo "Invalid file<br /> This error can be caused by a wrong file type or if the file is to big.";
  }
  
echo "<div align=\"center\">[<a href=\"modules.php?name=Upload\">Go back</a>]</div>";
CloseTable();
include_once('footer.php');
?>

Link to comment
https://forums.phpfreaks.com/topic/145522-temporary-file/#findComment-764076
Share on other sites

just like that? cause I get an invalid argument. I checked the phpmanual and found that you need to pass 2 arguments.

 

anyway that's not the problem, in fact it's not for me but for whoever want's to use it. but not everyone will have the same temporary file... so I don't think that will solve my problem unless I'm wrong?

 

 

Link to comment
https://forums.phpfreaks.com/topic/145522-temporary-file/#findComment-764347
Share on other sites

The second argument is a list of characters to be escaped. In fact I think you could do with addslashes

 

The problem is: \ (slash) is so called 'escape character'. It has a special meaning, for example \t is a tab, \n is newline etc. That's why it is stripped when you display a string through echo.

 

However, Microsoft DOS and all their systems since then, use \ as directory separator, which causes your problem. To display \ you need to escape it with another \\

So

echo "\\";

will display

\

 

addcslashes($filetmp,"\") should work for you I think

also

addslashes($filetmp)

 

Link to comment
https://forums.phpfreaks.com/topic/145522-temporary-file/#findComment-764355
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.