Re: [PHP] Query regarding temporarily-uploaded files

2013-07-10 Thread Bastien


Bastien Koert

On 2013-07-10, at 3:29 PM, Anthony Wlodarski  wrote:

> Is there anything that would prevent you from somehow uniquely knowing who
> the user is uploading the file. For example you mentioned "client'.  If you
> know
> who the client is you can append that to the filename or prepend it, for the
> destination string (second parameter to the function call).  That way it is
> unique
> to that client.
> 
> -Anthony

Another option is that you name the files yourself. Numerically for example and 
then just switch it back to the uploaded file name when either displaying it or 
sending it back to the user. 

You should also place all files outside the web root so it's harder to execute 
bad files. And prolly filter for files types. Allow only images ( png jpg gif ) 
for example

Bastien 
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Query regarding temporarily-uploaded files

2013-07-10 Thread Anthony Wlodarski
Is there anything that would prevent you from somehow uniquely knowing who
the user is uploading the file. For example you mentioned "client'.  If you
know
who the client is you can append that to the filename or prepend it, for the
destination string (second parameter to the function call).  That way it is
unique
to that client.

-Anthony


On Wed, Jul 10, 2013 at 2:15 PM, Ajay Garg  wrote:

> Thanks Jim and Matijn for the quick replies.
> I will try to have a workaround.
>
>
>
> On Wed, Jul 10, 2013 at 11:09 PM, Matijn Woudt  wrote:
>
> >
> >
> >
> > On Wed, Jul 10, 2013 at 7:21 PM, Ajay Garg 
> wrote:
> >
> >> Hi all.
> >>
> >> I have a requirement, wherein I need to allow vanilla uploads of files
> >> to a HTTPD server.
> >>
> >> Any client can upload any number of files (one at a time).
> >> Also, there is just one directory, where the files get stored
> >> "finally" (that is, after being copied from the temporary location,
> >> via "move_uploaded_file")
> >>
> >> Also, I have been able to get the simple file uploading running via
> >> PHP, by picking up one of the numerous "Hello World" examples
> >> available :)
> >>
> >>
> >>
> >> Now, I am facing the following use-case ::
> >>
> >> 1)
> >> User 1 starts uploading a large file, say "big_file.avi".
> >>
> >> 2)
> >> Meanwhile, user 2 also starts uploading a (different) file, but with
> >> the same name "big_file.avi".
> >>
> >>
> >> In an ideal scenario, user 2 should be prompted with a message, that a
> >> file of the same name is already being uploaded by someone else
> >> somewhere.
> >> Is there a way to do this?
> >>
> >> ( Note that, had the user 2 started uploading AFTER user 1 had
> >> finished with the upload, we could probably modify the PHP-script at
> >> the sever-side, to let user-2 know that a file of the same name
> >> already exits. But I am failing to find a solution, when the user 2
> >> starts the upload WHILE the large file of user 1 is in the process of
> >> completing uploading).
> >>
> >>
> >> Any way the issue may be solved?
> >>
> >> I will be grateful for any pointers :)
> >>
> >>
> >>
> >> Regards,
> >> Ajay
> >>
> >>
> >
> > Hi,
> >
> > This is not possible with PHP, PHP will not know about the file until the
> > upload is completed. You can use HTML5 or flash(not recommended) for an
> > alternative way of uploading, and then you can check the file name in
> > advance.
> >
> > - Matijn
> >
>
>
>
> --
> Regards,
> Ajay
>



-- 
Anthony W.
ant92...@gmail.com


Re: [PHP] Query regarding temporarily-uploaded files

2013-07-10 Thread Jim Giner

On 7/10/2013 3:37 PM, Ajay Garg wrote:

Thanks Jim and Anthony.

Jim,
You are right, your solution is doable.

But one thing I am a little skeptical about, is what would be the
percentage of the people willing to suggest a new name "immediately",
versus the percentage of people who would like to cancel the current
upload, and come back "later" after walking and coming up with a new name.

Anyhow, let me sleep over it :)


Anthony,
your solution is really a special case of Jim's solution :)



Thanks guys for the quick replies; I am obliged, really.



On Thu, Jul 11, 2013 at 12:59 AM, Anthony Wlodarski wrote:


Is there anything that would prevent you from somehow uniquely knowing who
the user is uploading the file. For example you mentioned "client'.  If
you know
who the client is you can append that to the filename or prepend it, for
the
destination string (second parameter to the function call).  That way it
is unique
to that client.

-Anthony


On Wed, Jul 10, 2013 at 2:15 PM, Ajay Garg  wrote:


Thanks Jim and Matijn for the quick replies.
I will try to have a workaround.



On Wed, Jul 10, 2013 at 11:09 PM, Matijn Woudt  wrote:





On Wed, Jul 10, 2013 at 7:21 PM, Ajay Garg 

wrote:



Hi all.

I have a requirement, wherein I need to allow vanilla uploads of files
to a HTTPD server.

Any client can upload any number of files (one at a time).
Also, there is just one directory, where the files get stored
"finally" (that is, after being copied from the temporary location,
via "move_uploaded_file")

Also, I have been able to get the simple file uploading running via
PHP, by picking up one of the numerous "Hello World" examples
available :)



Now, I am facing the following use-case ::

1)
User 1 starts uploading a large file, say "big_file.avi".

2)
Meanwhile, user 2 also starts uploading a (different) file, but with
the same name "big_file.avi".


In an ideal scenario, user 2 should be prompted with a message, that a
file of the same name is already being uploaded by someone else
somewhere.
Is there a way to do this?

( Note that, had the user 2 started uploading AFTER user 1 had
finished with the upload, we could probably modify the PHP-script at
the sever-side, to let user-2 know that a file of the same name
already exits. But I am failing to find a solution, when the user 2
starts the upload WHILE the large file of user 1 is in the process of
completing uploading).


Any way the issue may be solved?

I will be grateful for any pointers :)



Regards,
Ajay




Hi,

This is not possible with PHP, PHP will not know about the file until

the

upload is completed. You can use HTML5 or flash(not recommended) for an
alternative way of uploading, and then you can check the file name in
advance.

- Matijn





--
Regards,
Ajay





--
Anthony W.
ant92...@gmail.com





That's why I said you would have to do a cleanup periodically.  People 
who walk away could lose their session perhaps and the page wiht the 
hidden temp name buried in it, so they would have to do their upload 
from the beginning again.  If they didn't lose their session and 
therefore that screen, then they could still respond and things would 
flow smoothly.


so - who is scanning these files for viruses and what not?  It's one 
thing to host them but if you are going to let users view them on their 
clients you could be spreading things.


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Query regarding temporarily-uploaded files

2013-07-10 Thread Ajay Garg
Thanks Jim and Anthony.

Jim,
You are right, your solution is doable.

But one thing I am a little skeptical about, is what would be the
percentage of the people willing to suggest a new name "immediately",
versus the percentage of people who would like to cancel the current
upload, and come back "later" after walking and coming up with a new name.

Anyhow, let me sleep over it :)


Anthony,
your solution is really a special case of Jim's solution :)



Thanks guys for the quick replies; I am obliged, really.



On Thu, Jul 11, 2013 at 12:59 AM, Anthony Wlodarski wrote:

> Is there anything that would prevent you from somehow uniquely knowing who
> the user is uploading the file. For example you mentioned "client'.  If
> you know
> who the client is you can append that to the filename or prepend it, for
> the
> destination string (second parameter to the function call).  That way it
> is unique
> to that client.
>
> -Anthony
>
>
> On Wed, Jul 10, 2013 at 2:15 PM, Ajay Garg  wrote:
>
>> Thanks Jim and Matijn for the quick replies.
>> I will try to have a workaround.
>>
>>
>>
>> On Wed, Jul 10, 2013 at 11:09 PM, Matijn Woudt  wrote:
>>
>> >
>> >
>> >
>> > On Wed, Jul 10, 2013 at 7:21 PM, Ajay Garg 
>> wrote:
>> >
>> >> Hi all.
>> >>
>> >> I have a requirement, wherein I need to allow vanilla uploads of files
>> >> to a HTTPD server.
>> >>
>> >> Any client can upload any number of files (one at a time).
>> >> Also, there is just one directory, where the files get stored
>> >> "finally" (that is, after being copied from the temporary location,
>> >> via "move_uploaded_file")
>> >>
>> >> Also, I have been able to get the simple file uploading running via
>> >> PHP, by picking up one of the numerous "Hello World" examples
>> >> available :)
>> >>
>> >>
>> >>
>> >> Now, I am facing the following use-case ::
>> >>
>> >> 1)
>> >> User 1 starts uploading a large file, say "big_file.avi".
>> >>
>> >> 2)
>> >> Meanwhile, user 2 also starts uploading a (different) file, but with
>> >> the same name "big_file.avi".
>> >>
>> >>
>> >> In an ideal scenario, user 2 should be prompted with a message, that a
>> >> file of the same name is already being uploaded by someone else
>> >> somewhere.
>> >> Is there a way to do this?
>> >>
>> >> ( Note that, had the user 2 started uploading AFTER user 1 had
>> >> finished with the upload, we could probably modify the PHP-script at
>> >> the sever-side, to let user-2 know that a file of the same name
>> >> already exits. But I am failing to find a solution, when the user 2
>> >> starts the upload WHILE the large file of user 1 is in the process of
>> >> completing uploading).
>> >>
>> >>
>> >> Any way the issue may be solved?
>> >>
>> >> I will be grateful for any pointers :)
>> >>
>> >>
>> >>
>> >> Regards,
>> >> Ajay
>> >>
>> >>
>> >
>> > Hi,
>> >
>> > This is not possible with PHP, PHP will not know about the file until
>> the
>> > upload is completed. You can use HTML5 or flash(not recommended) for an
>> > alternative way of uploading, and then you can check the file name in
>> > advance.
>> >
>> > - Matijn
>> >
>>
>>
>>
>> --
>> Regards,
>> Ajay
>>
>
>
>
> --
> Anthony W.
> ant92...@gmail.com
>



-- 
Regards,
Ajay


Re: [PHP] Query regarding temporarily-uploaded files

2013-07-10 Thread Jim Giner

On 7/10/2013 2:15 PM, Ajay Garg wrote:

Thanks Jim and Matijn for the quick replies.
I will try to have a workaround.



On Wed, Jul 10, 2013 at 11:09 PM, Matijn Woudt  wrote:





On Wed, Jul 10, 2013 at 7:21 PM, Ajay Garg  wrote:


Hi all.

I have a requirement, wherein I need to allow vanilla uploads of files
to a HTTPD server.

Any client can upload any number of files (one at a time).
Also, there is just one directory, where the files get stored
"finally" (that is, after being copied from the temporary location,
via "move_uploaded_file")

Also, I have been able to get the simple file uploading running via
PHP, by picking up one of the numerous "Hello World" examples
available :)



Now, I am facing the following use-case ::

1)
User 1 starts uploading a large file, say "big_file.avi".

2)
Meanwhile, user 2 also starts uploading a (different) file, but with
the same name "big_file.avi".


In an ideal scenario, user 2 should be prompted with a message, that a
file of the same name is already being uploaded by someone else
somewhere.
Is there a way to do this?

( Note that, had the user 2 started uploading AFTER user 1 had
finished with the upload, we could probably modify the PHP-script at
the sever-side, to let user-2 know that a file of the same name
already exits. But I am failing to find a solution, when the user 2
starts the upload WHILE the large file of user 1 is in the process of
completing uploading).


Any way the issue may be solved?

I will be grateful for any pointers :)



Regards,
Ajay




Hi,

This is not possible with PHP, PHP will not know about the file until the
upload is completed. You can use HTML5 or flash(not recommended) for an
alternative way of uploading, and then you can check the file name in
advance.

- Matijn





As Matijn said, you don't know the name until your php processes the 
file that has been uploaded alreaday.  But my solution will work for you 
- you just have to save it under the temp name until the user responds 
to your message and request for a new title.  You may have to run a 
periodic script to clean up any files with your temp names that the user 
declined to re-name for you.  I'd make up a temp name with some special 
prefix so that you can find and delete them.


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Query regarding temporarily-uploaded files

2013-07-10 Thread Ajay Garg
Thanks Jim and Matijn for the quick replies.
I will try to have a workaround.



On Wed, Jul 10, 2013 at 11:09 PM, Matijn Woudt  wrote:

>
>
>
> On Wed, Jul 10, 2013 at 7:21 PM, Ajay Garg  wrote:
>
>> Hi all.
>>
>> I have a requirement, wherein I need to allow vanilla uploads of files
>> to a HTTPD server.
>>
>> Any client can upload any number of files (one at a time).
>> Also, there is just one directory, where the files get stored
>> "finally" (that is, after being copied from the temporary location,
>> via "move_uploaded_file")
>>
>> Also, I have been able to get the simple file uploading running via
>> PHP, by picking up one of the numerous "Hello World" examples
>> available :)
>>
>>
>>
>> Now, I am facing the following use-case ::
>>
>> 1)
>> User 1 starts uploading a large file, say "big_file.avi".
>>
>> 2)
>> Meanwhile, user 2 also starts uploading a (different) file, but with
>> the same name "big_file.avi".
>>
>>
>> In an ideal scenario, user 2 should be prompted with a message, that a
>> file of the same name is already being uploaded by someone else
>> somewhere.
>> Is there a way to do this?
>>
>> ( Note that, had the user 2 started uploading AFTER user 1 had
>> finished with the upload, we could probably modify the PHP-script at
>> the sever-side, to let user-2 know that a file of the same name
>> already exits. But I am failing to find a solution, when the user 2
>> starts the upload WHILE the large file of user 1 is in the process of
>> completing uploading).
>>
>>
>> Any way the issue may be solved?
>>
>> I will be grateful for any pointers :)
>>
>>
>>
>> Regards,
>> Ajay
>>
>>
>
> Hi,
>
> This is not possible with PHP, PHP will not know about the file until the
> upload is completed. You can use HTML5 or flash(not recommended) for an
> alternative way of uploading, and then you can check the file name in
> advance.
>
> - Matijn
>



-- 
Regards,
Ajay


Re: [PHP] Query regarding temporarily-uploaded files

2013-07-10 Thread Matijn Woudt
On Wed, Jul 10, 2013 at 7:21 PM, Ajay Garg  wrote:

> Hi all.
>
> I have a requirement, wherein I need to allow vanilla uploads of files
> to a HTTPD server.
>
> Any client can upload any number of files (one at a time).
> Also, there is just one directory, where the files get stored
> "finally" (that is, after being copied from the temporary location,
> via "move_uploaded_file")
>
> Also, I have been able to get the simple file uploading running via
> PHP, by picking up one of the numerous "Hello World" examples
> available :)
>
>
>
> Now, I am facing the following use-case ::
>
> 1)
> User 1 starts uploading a large file, say "big_file.avi".
>
> 2)
> Meanwhile, user 2 also starts uploading a (different) file, but with
> the same name "big_file.avi".
>
>
> In an ideal scenario, user 2 should be prompted with a message, that a
> file of the same name is already being uploaded by someone else
> somewhere.
> Is there a way to do this?
>
> ( Note that, had the user 2 started uploading AFTER user 1 had
> finished with the upload, we could probably modify the PHP-script at
> the sever-side, to let user-2 know that a file of the same name
> already exits. But I am failing to find a solution, when the user 2
> starts the upload WHILE the large file of user 1 is in the process of
> completing uploading).
>
>
> Any way the issue may be solved?
>
> I will be grateful for any pointers :)
>
>
>
> Regards,
> Ajay
>
>

Hi,

This is not possible with PHP, PHP will not know about the file until the
upload is completed. You can use HTML5 or flash(not recommended) for an
alternative way of uploading, and then you can check the file name in
advance.

- Matijn