Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dziwna sprawa z upload plików mp3 na serwer przez formularz
Forum PHP.pl > Forum > PHP
twardyEdek
Mam plik w formacie (mp3).

Chcę go wysłać standardowo: formularz (html) -> php -> i zapisać na serwerze.

Niestety, działa tylko dla plików o prostych nazwach:
plik1.mp3
plik abc.mp3

dla reszty plików nie działa, np.:
plik xxx xxx - aaa bbb Hasz ccc (www.www.www).mp3


Jest na to jakiś sposób ?
Damonsson
Skoro działa ze spacją, a nie działa z kropkami, to pewnie kropki powodują problem i trzeba je wywalić, bo myślnik czy nawiasy raczej nie powinny stanowić problemu.
Pyton_000
W kodzie jest explode po . i sprawdzane rozszerzenie
Turson
Zostaw znaki z alfabetu angielskiego, powywalaj lub zamień spacje itd. explode powinien odnosić się do ostatniego elementu tablicy end()
twardyEdek
Panowie, ale chodzi o to że nie przesyła pliku na serwer- nawet

  1. $_FILES["plik"]["tmp_name"]


się nie tworzy.
Turson
Pokaż kod formularza
Pyton_000
A co mówi na ten temat var_dump($_FILE)
twardyEdek
  1. var_dump($_FILE);
-> null

chodzi o to iż przed wysłaniem pliku nadać mu inną nazwę.
Pyton_000
pokaż formularz
twardyEdek
  1. <form enctype="multipart/form-data" method="POST">
  2. <input type="hidden" name='MAX_FILE_SIZE' value="10000000" />
  3. <input name="pliczek" type="file"/>
  4. .....
  5.  
  6. <input type="submit" value="Wrzuć" />
  7. </form>
Pyton_000
Pokaż jeszcze kod obsługi uploadu
Rozumiem że dane wysyłasz do tego samego pliku w którym masz wrzucony formularz?
Crozin
Cytat
  1. var_dump($_FILE);

-> null
$_FILES, nie $_FILE. Zapewne masz jakiś błąd przy wgrywaniu plików: http://php.net/manual/pl/features.file-upload.errors.php
Turson
<input name="pliczek" type="file"/>
$_FILES["plik"]["tmp_name"]

plik!=pliczek
twardyEdek
Panowie dziękuję za zainteresowanie tematem.

Mam 2 pliki:
1 plik z formularzem (html)
2 plik z uploadem (php)

wszystko działa ładnie i śmiga dla prostych nazw plików takich jak:

muzyka.mp3,
nowa muza.mp3

Ale już nie działa dla przykładu w 1 poście.



Sorki za nazwy inputów- oczywiście wszystkie sa takie same, już po prostu ze zmęczenia i niewiedzy piszę głupoty wink.gif


Gdyby była możliwość zmiany nazwy pliku przed przesłaniem go....
Pyton_000
Miałeś pokazać kod obsłógi upload w PHP
Crozin
...pozwolę sobie powtórzyć się: http://forum.php.pl/index.php?s=&showt...t&p=1115079
twardyEdek
  1. var_dump($_FILES) ;

daje
  1. array (size=0)



upload w php:

if(is_uploaded_file($_FILES['plik']['tmp_name']))
{

....


if($_FILES['plik']['size']<10000000){

....

move_uploaded_file($_FILES['plik']['tmp_name'],$dir);


}
}


w html oczywiście input name=plik


Oczywiście
  1. $_FILES['userfile']['error']

daje null
Pyton_000
Tak z ciekawości to gdzie wstawiasz tego var_dump ?
twardyEdek
var_dump
po


nic nie pokazuje


dla przykładu dla pliku test.mp3, pokazuje:
  1. array (size=1)
  2. 'plik' =>
  3. array (size=5)
  4. 'name' => string 'test.mp3' (length=8)
  5. 'type' => string 'audio/mp3' (length=9)
  6. 'tmp_name' => string 'C:\wamp\tmp\php78C4.tmp' (length=23)
  7. 'error' => int 0
  8. 'size' => int 704556




skrypt uploadu działa poprawnie dla plików o prostych nazwach.
Już gorzej jak nazwa jest dłuższa ....
trueblue
A jaki rozmiar ma plik: xxx xxx - aaa bbb Hasz ccc (www.www.www).mp3 ?
Pyton_000
Masz wstawić Przed, a najlepiej na samym początku skryptu który obsługuje upload
twardyEdek
rozmiar to 9 MB

no już nie wiem co robić - wszystkiego chyba próbowałem ....
maly_swd
daj echo ini_get('upload_max_filesize')
I zapewne masz tam 8MB, a 8MB jest mniejsze od 9MB.
twardyEdek
Wpisane :
  1. echo ini_get('upload_max_filesize')


przed:

pokazuje:
  1. 64M


po:

nic nie pokazuje



Mój plik mp3 ma 7,99 mb
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.