[FX.php List] Upload script in PHP?
Dale Bengston
dbengston at preservationstudio.com
Mon Mar 13 15:12:30 MST 2006
Argh, I was dodging the permissions part. Now you're going to make me
think!
You've probably discovered that just making a folder in /Library/
WebServer/Documents on your web server sets the ownership to your
current OSX login. Since the www user (Linux: nobody) has a pretty
small sandbox to play in, it can't move a file to this folder.
Here's a trick I borrowed from Marisa Smith: Set the permissions for
your upload folder to something loose before the upload
<?php
chmod($pathToFolder,0666);
?>
and then set them back to something tighter afterward
<?php
chmod($pathToFolder,0222)].
?>
You can read about doing permissions with PHP at <http://us2.php.net/
manual/en/function.chmod.php>.
Dale
On Mar 13, 2006, at 3:56 PM, Bob Patin wrote:
> Dale,
>
> Do you recall what you set permissions to for the uploads folder?
> Should I set it to my own username?
>
> Slowly slogging through this, hopefully making headway,
>
> Bob
>
>
> On Mar 13, 2006, at 11:11 AM, Dale Bengston wrote:
>
>> Hi Bob,
>>
>> I took mine right from the php.net's examples about uploading files:
>>
>> <http://us2.php.net/manual/en/features.file-upload.php>
>>
>> Here is their upload HTML form:
>>
>> <!-- The data encoding type, enctype, MUST be specified as below -->
>> <form enctype="multipart/form-data" action="__URL__" method="POST">
>> <!-- MAX_FILE_SIZE must precede the file input field -->
>> <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
>> <!-- Name of input element determines name in $_FILES array -->
>> Send this file: <input name="userfile" type="file" />
>> <input type="submit" value="Send File" />
>> </form>
>>
>> The three comment lines identify the big differences in this form
>> and more traditional html forms. Note that the MAX_FILE_SIZE value
>> is largely ignored by the browser, so you'll need to evaluate that
>> after the file is uploaded (file size is part of the $_FILES
>> array... see immediately below).
>>
>> Once uploaded, PHP stores info about the file in the $_FILES
>> array. You can find the details of the elements of $_FILES on the
>> page linked above, but the elements for the uploaded 'userfile'
>> above are:
>>
>> $_FILES['userfile']['name'] The original name of the uploaded file
>> on the client machine.
>>
>> $_FILES['userfile']['type'] The mime type of the file, if the
>> browser provided this information. An example would be "image/
>> gif". This mime type is however not checked on the PHP side and
>> therefore don't take its value for granted.
>>
>> $_FILES['userfile']['size'] The size, in bytes, of the uploaded file.
>>
>> $_FILES['userfile']['tmp_name'] The temporary filename of the file
>> in which the uploaded file was stored on the server.
>>
>> $_FILES['userfile']['error'] The error code associated with this
>> file upload. This element was added in PHP 4.2.0
>>
>> The uploaded file lands in a temp directory, and you use php's
>> move_uploaded_file() to relocate it to your appropriate web
>> directory. You can also rename it and use the values in $_FILES
>> check for different file types and file sizes (although the mime
>> type thing isn't bulletproof).
>>
>> Things to watch out for: file and folder permissions on the final
>> resting place for your uploads, since the www user has pretty
>> limited access. Also, your php.ini file probably has a
>> upload_max_filesize set to 2MB. If the PDFs being uploade are
>> larger than 2MB, you'll need to up this value. If you're changing
>> upload_max_filesize, you'll need to look at post_max_size too.
>>
>> Hope this helps,
>> Dale
>>
>>
>> On Mar 13, 2006, at 9:59 AM, Bob Patin wrote:
>>
>>> Does anyone have any code for writing a simple upload script in
>>> PHP? I tried some code that I found online, but have been unable
>>> to get it to work.
>>>
>>> I have a client who needs to put a form on their site so that
>>> clients can upload PDF files directly into their web folder on
>>> the web server.
>>>
>>> Any help would be greatly appreciated.
>>>
>>> Thanks,
>>>
>>> Bob Patin
>>> Longterm Solutions
>>> bob at longtermsolutions.com
>>> 615-333-6858
>>> http://www.longtermsolutions.com
>>>
>>> CONTACT US VIA SKYPE:
>>> USERNAME: longtermsolutions
>>>
>>> CONTACT US VIA INSTANT MESSAGING:
>>> AIM or iChat: longterm1954
>>> Yahoo: longterm_solutions
>>> MSN: bob at patin.com
>>> ICQ: 159333060
>>>
>>>
>>> _______________________________________________
>>> FX.php_List mailing list
>>> FX.php_List at mail.iviking.org
>>> http://www.iviking.org/mailman/listinfo/fx.php_list
>>
>> _______________________________________________
>> FX.php_List mailing list
>> FX.php_List at mail.iviking.org
>> http://www.iviking.org/mailman/listinfo/fx.php_list
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
More information about the FX.php_List
mailing list