vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Replacing space with "_" when UL a file (https://vborg.vbsupport.ru/showthread.php?t=38579)

wooolF[RM] 05-13-2002 02:23 AM

Replacing space with "_" when UL a file
 
]Hello everybody :)

have a little problem here.
I wrote a little script to upload/download files to one specific folder on my host.

problem is : u can upload files with space in the filename, but then u can't download it, it will link to somethink like : http://www.bla.com/upload/bo instead of http://www.bla.com/upload/bo om.jpg

So I though that there may be a function replacing space with %20 or simple "_".

I tried to add
Code:

$file1=str_replace(" ","_",$file);
and then use code (after all checks for right extensions, file size limit etc)
Code:

@copy($file1, "$absolute_path/$file_name")
but it haven't helped...

I know it's really simple... but I can't hit it... :cross-eyed:

Can anyone help pls? Thanx!

wooolF[RM] 05-13-2002 03:15 AM

]
Code:

There?re strip_tags(), stripslashes and stripcslashes ? why not a
stripspaces() function too? Here it is.

function stripspaces($tex)
{
  return(str_replace(" ","",$tex));
}

any way anyone can help me implement this into my script? I'm just lost... :/

wooolF[RM] 05-13-2002 03:37 AM

]have also tried to link to file as
Code:

<a href=$dl/$file1>blabla</a>
and then adding variable like
Code:

$file1=str_replace(" ","_",$file);
still no luck :(

Logician 05-13-2002 09:05 AM

$file = strtr($file, " ", "_");

should help..

Also your both examples seem correct to me in the first look. Are you sure you didnt miss another thing? For example in your code you assigned the modified name to variable "$file1". Are you sure you use the variable "$file1" instead of $file after you replaced the chars..

As for calling your function, this is the line you should use:
$file=stripspaces($file);

wooolF[RM] 05-13-2002 11:26 AM

]it worked! thanx a lot :)

just one last problem (really last one)

file called bom'b'a.jpg after uploading will be called bom\-b\-a.jpg if I add
Code:

$file=str_replace("'","-",$file);
wny ideas why? :(

wooolF[RM] 05-13-2002 12:20 PM

]
Quote:

Originally posted by Logician
As for calling your function, this is the line you should use:
$file=stripspaces($file);

erm...
I use
Code:

$dir = opendir($absolute_path);
while($file = readdir($dir)) {
if (($file != "..") and ($file != ".")) {
$file=str_replace(" ","%20",$file);
$list .= "$file"
echo $list;

That gives me full listing og the given folder...

Now I tried to add size ( $size ) of the file right after name of the file ( $file ) by using this script:
Code:

// $size is the filesize (in bytes)
function rendersize($size) {

        $type = 'bytes';

        if ($size > '1023') {

                $size = $size/1024;
                $type = 'KB';

        }

        if ($size > '1023') {

                $size = $size/1024;
                $type = 'MB';

        }

        if ($size > '1023') {

                $size = $size/1024;
                $type = 'GB';

        }

        if ($size > '1023') {

                $size = $size/1024;
                $type = 'TB';

        }

        // Fix decimals and stuff
        if ($size < '10') $size = intval($size*100)/100;
        else if ($size < '100') $size = intval($size*10)/10;
        else $size = intval($size);

        // Comment the following line if you want X.XX KB displayed instead of X,XX KB
        $size = str_replace("." , "," , $size);
        return "$size $type";
}

I have NO idea where to insert that script (before html? before head? before ... ?) and what variable to use after that.

I tried some variants like
Code:

$list .= "$file $size $type"
but got just empty spaces instead of file size...
I'm sure I'm inserting that script in the wrong place or I have to remove
Code:

return "$size $type";
and insert it in other place... I really tried in over 1 hour or so, but couldn't solve this pussle :(

Sparkz 05-13-2002 12:39 PM

Quote:

Originally posted by wooolF[RM]
it worked! thanx a lot :)

just one last problem (really last one)

file called bom'b'a.jpg after uploading will be called bom\-b\-a.jpg if I add
Code:

$file=str_replace("'","-",$file);
wny ideas why? :(

Try
PHP Code:

$file=str_replace ("'","-",stripslashes ($file)); 

Looks like the ' is already escaped.

Logician 05-13-2002 12:43 PM

The function requires to be called WITH a $size variable so as to return a result.

For example if the file size is kept in a variable called $file_size then you should replace line:

$list .= "$file"

AS

$list .= $file." (".rendersize($file_size).")";

As you see, you first send the file size to the function and then it returns it as "X Mb.".

Sparkz 05-13-2002 12:44 PM

for the size-part, you can stick the function wherever you want, but to actually get any output from it, you'll have to call it :)

try $size = rendersize (filesize ($file));

or maybe filesize ($absolutepath.$file) in your case...

The parameter to the filesize-function has to be the filename with an absolute path.

Sparkz 05-13-2002 12:45 PM

Hmm - guess you beat me to it :P


All times are GMT. The time now is 03:50 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02604 seconds
  • Memory Usage 1,747KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (11)bbcode_code_printable
  • (1)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete